使用MATLAB通过.net从SQL读取一行

使用MATLAB通过.net从SQL读取一行,.net,sql,matlab,.net,Sql,Matlab,我试图使用MATLAB通过.net读取SQL表中的特定行。我使用下面的代码来解决这个问题 import System.Data.SqlClient.* import DataTable.* NET.addAssembly('System.Data'); sqlconn = System.Data.SqlClient.SqlConnection(); sqlcmd = sqlconn.CreateCommand(); conn = SqlConnection('Dat

我试图使用MATLAB通过.net读取SQL表中的特定行。我使用下面的代码来解决这个问题

import System.Data.SqlClient.*   
import DataTable.*  
NET.addAssembly('System.Data');  
sqlconn = System.Data.SqlClient.SqlConnection();  
sqlcmd = sqlconn.CreateCommand();      
conn = SqlConnection('Data Source=B39Q5M1;Initial Catalog=AIR;integrated  
i=1;  
list = [];  
conn.Open();  
q = SqlCommand(sqlstring, conn);   
r = q.ExecuteReader();  
while (r.read())  
r.GetString(0)  
end  
end
但这将从行中获取单个元素。至少在本例中,我有一个解决方法,可以获取每个元素并将其设置为数组。但更大的问题是我不知道表值是否为int/string。在这种情况下,我不能盲目地使用Getstring,因为如果值是int而不是string,它会抛出一个错误。 请让我知道是否有任何方法来获取完整的行。或者有什么解决办法吗? 我在网站上搜索了很多,但是所有的例子都使用GetString(0)。
提前谢谢

您能否将其格式设置得更像这样一些:

应该有一种更简单的方法来构建您想要使用的SQL语句

这是C#的datatable库,所有的get和table命令都在这里,您完全可以从数据库中检索数据,无论它是字符串还是Int


GETROWTYPE()似乎是一个可以获取类型的方法,也许您可以使用它来确定是否需要使用GetString,直到您找到解决主要问题的方法。

此页面是否有帮助?