string strConn = "server = '(local)';database=Person;integrated security = true";
string strSQL = "SELECT 姓名,年龄,住址 FROM 客户表";
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand(strSQL,conn);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader();
DataTable db1 = rdr.GetSchemaTable();
rdr.Close();
conn.Close();
foreach (DataColumn col in db1.Columns)
 {
    Console.WriteLine("{0},{1},{2},{3},{4}",col.ColumnName,col.DataType,col.AllowDBNull,col.AutoIncrement, col.ReadOnly);            
 }
Console.ReadKey();
问题:
上面的代码用SqlDataReader获取数据,调用GetSchemaTable方法,创建一个DataTable ,可是,为什么结果不对呢?应该只有3列,为什么输出31列,而且信息耶不正确?