Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我编写了一个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,但听起来像是... 更多&回答... |
![]() |
![]() |