我希望并排显示列值。你能帮忙吗?
代码
con.Open();
cmd.Connection = con;
DataTable dt = new DataTable("Tablo");
DataRow row;
int i = 0;
foreach (var item in name)
{
cmd.CommandText = "SELECT TOP 0 * FROM "+item+"";
using (Sq1DataReader reader = cmd.ExecuteReader(CommandBehavior.SchemaOnly))
{
DataTable schemaTable = reader.GetSchemaTable();
dt.Columns.Add(item.ToString());
foreach (DataRow colRow in schemaTable.Rows)
{
row = dt.NewRow();
row[i] = colRow.Field<String>("ColumnName").ToString();
dt.Rows.Add(row);
}
i++;
}
}
con.Close();
return dt;
输出:
答案 0 :(得分:0)
我假设name
是一个列列表。
看起来您正在一次读取一列数据,将每个新值添加为新行。这意味着您将获得一个表,其中包含所有第一列数据,后跟所有第二列数据等。
您需要在一次调用中读取每行的所有数据,然后将新行添加到结果中。这是从数据库中读取数据的常用方法。
或者,当您到达第一列数据的末尾时,再次开始更新现有行并重复每列。