2012-10-31 29 views
2

我想通過.net使用MATLAB從SQL表中讀取特定行。我正在使用以下代碼使用MATLAB從.net通過.net讀取一行使用MATLAB

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而不是字符串。 請讓我知道是否有任何方法來獲取完整的行。或者有沒有解決方法? 我在網站上搜索了很多,但所有的例子都使用GetString(0)。 在此先感謝!

+0

此頁面有任何幫助嗎? http://www.mathworks.nl/help/database/ug/database.fetch.html –

回答

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和表的命令都在這裏,你絕對可以從數據庫中它是否是一個String或詮釋檢索數據。

它看起來像GETROWTYPE()是一種方法,可以讓你的類型,也許你可以用它來確定你是否需要使用GetString或不,直到你找出你想如何解決主要問題。