我编写了一个Matlab类,以使用JDBC和java.sql中的内容实现数据库。
我需要知道ResultSet中有多少个结果,因此我编写了以下Matlab静态函数:
methods (Static) function [numRecords] = numRecords(resultSet) numRecords = 0; if (~isempty(resultSet)) row = resultSet.getRow(); resultSet.beforeFirst(); resultSet.last(); numRecords = resultSet.getRow(); resultSet.absolute(row); end end end 但是当我尝试调用它时,出现以下错误消息:
???类型为“ org.apache.derby.impl.jdbc.EmbedResultSet40”的输入参数的未定义函数或方法“ numRecords”
没有其他函数称为numRecords。
回答:
当我写原始问题时,我意识到自己的错误。
显然,在Matlab类中,调用静态函数需要将封闭的类添加到该函数的前面...即使在同一类中调用也是如此!
我替换了该行:
trials = zeros(numRecords(rs)); 与
trials = zeros(CMAPSigSimResultsDB.numRecords(rs)); 而且有效。 (虽然没有,但是至少调用了该函数。)
这是一个令人困惑的错误消息,因为不应输入Matlab,但听起来像是...
更多&回答...