2

我正在尝试使用 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)。提前致谢!

4

1 回答 1

0

你能像这样格式化它吗:http: //support.winhost.com/KB/a647/how-to-query-an-sql-database-with-net-sql-data-provider.aspx

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

http://msdn.microsoft.com/en-us/library/system.data.datatable.aspx 这是 C# 的数据表库,所有的 get 和 table 命令都在这里,你绝对可以从数据库中检索数据它是 String 还是 Int。

看起来 GETROWTYPE() 是一种可以为您获取类型的方法,也许您可​​以使用它来确定是否需要使用 GetString ,直到您弄清楚要如何解决主要问题。

于 2012-11-13T23:42:54.543 回答