一部のオブジェクトをインスタンス化する必要があるため、応答データ リーダー オブジェクトから列名と型を読み取りたいと考えています。私はこれで出てきました:
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
私のコードで何が間違っていますか?