Visual Query Builder

2 次查看(过去 30 天)
George
George 2011-10-1
Hi i want to retrieve sql data using matlab.
The problem is that i want to use in the "where" statement a matlab variable.
Something like this:
e = exec(conn,'SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (MATLAB_VARIABLE);
But there is an error: "Invalid Column Name".
I think that doesn't recognise that "MATLAB_VARIABLE" is a matlab variable.
If i try this: e = exec(conn,'SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (MATLAB_VARIABLE(1)); again the following error occus:"MATLAB_VARIABLE" is not a recognised built in funtion name
Any help would be appreciated
Thanks George

采纳的回答

Oleg Komarov
Oleg Komarov 2011-10-1
You have to convert the content of matlab variable to a char variable.
If MATLAB_VARIABLE is already a char then simply:
str = ['SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (' MATLAB_VARIABLE(1) ')'];
exec(conn, str)
Otherways, if it is a scalar double you have to use sprintf or num2str or str2double.
In case you have an array of values you have to use sprintf and interveal with commas.
  1 个评论
George
George 2011-10-1
Thank you very much. I follow the instructions from the link: http://www.mathworks.com/support/solutions/en/data/1-174JK/index.html?product=DB&solution=1-174JK

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by