2014-03-01 363 views
1

我想在matlab中执行一个SQL查询。 sql使用'select'命令来使用一个列名来选择一个特定的行,该列名与下面代码中给出的变量中存储的值相匹配。 当我执行这个,我得到一个错误:错误使用==> database.exec输入参数太多。错误:太多的输入参数matlab

q=value;%computed value. 
conn1=database('Dbname','',''); 
fna=exec(conn1,'select * from table1 where ImageName="',q,'"'); 
fna=fetch(fna); fda=fna.data; 

回答

1

您正在传递四个输入参数,最后三个参数必须连接到一个sql命令。

sqlquery=['select * from table1 where ImageName="',q,'"']; 
fna=exec(conn1,sqlquery); 
+0

雅谢谢。有效! – user3368213

+0

:此外,我将fda的内容存储在单元格中。当我尝试打印存在于单元格中的内容时,会出现另一个错误:C = fda。 sprintf('%d%d%d'C {1,1},C {2,1},C {3,1})错误:来自非单元格数组对象的单元格内容引用。 – user3368213

0
在MATLAB手动

它说,高管的语法如下:

curs = exec(conn,sqlquery) 
curs = exec(conn,sqlquery,qTimeOut) 

你必须在执行函数四个参数,这就是错误意思!