2014-03-01 358 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) 

你必須在執行函數四個參數,這就是錯誤意思!