我是一个新手,我试图从我的数据库中的某个表中检索列NAme,Size(max legth)和DataType,下面的代码当我执行它期望它显示所有列类型和名称(我didn没有找到如何引用大小,我使用ColumnSize,但据说DataColumn不包含此方法的定义)但当执行它时,它只显示:IsColumnSetSystem.Boolean 这是代码:我们如何从getschemaTable获取列大小和数据类型?
private void button1_Click(object sender, EventArgs e)
{
string EF = textBox1.Text;
try{
//SqlDataAdapter adapter = SetupDataAdapter("SELECT * FROM id_declarant");
SqlCommand comm = new SqlCommand();
string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=declaration;Integrated Security=True";
comm.Connection=new SqlConnection(connectionString);
String sql = @"SELECT *
FROM id_declarant,declarant
WHERE (declarant.Nom_pren_RS='" + EF + "') and (id_declarant.mat_fisc=declarant.mat_fisc) ";
comm.CommandText = sql;
comm.Connection.Open();
SqlDataReader reader = comm.ExecuteReader();
DataTable schemaTable = reader.GetSchemaTable();
foreach (DataRow row in schemaTable.Rows)
{
foreach (DataColumn column in schemaTable.Columns)
{
System.IO.File.WriteAllText(@"C:\Users\Manuela\Documents\GL4\WriteLines.txt", column.ColumnName + column.DataType);
}
}
您是否在msdn上选中了此项? http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.getschematable(v=vs.100).aspx – Ric
是的,我有,事实上我使用ColumnName和DataTable,但它不显示正确的数据 – manu