我想從我的響應數據讀取器對象中讀取列名和類型,因爲我需要它來實例化一些對象。我拿出這個:從數據讀取器加載數據
using (db.sqlConnection) {
db.sqlConnection.Open();
using (var cmd = new SqlCommand("areaGetStreetTypes", db.sqlConnection)) {
cmd.CommandType = CommandType.StoredProcedure;
using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.KeyInfo)) {
DataTable dt = dr.GetSchemaTable();
foreach (DataRow myField in dt.Rows) {
foreach (DataColumn coloana in dt.Columns) {
string c1 = coloana.ColumnName; //column name ???
string c2 = coloana.GetType().ToString(); //column type ??
Console.WriteLine(c1 + " " + c2);
}
}
}
}
}
但是不工作。對於每列返回我想要打印(對於初學者)類似:
id_someID int32
name string
surname string
ssn string
我的代碼有什麼問題?
是什麼_「不工作」 _ ? – CodeCaster
正如你可以從http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable(v=vs.100).aspx文檔中看到的,GetSchemaTable返回一個數據集,其中每行保存列數據。您正在列出該架構數據集的列而不是行的內容 – Jodrell
如何在一個查詢中接收數據和架構信息?我怎樣才能訪問它們中的每一個? –