向数据集 C# 添加列
本文关键字:添加 数据集 | 更新日期: 2023-09-27 18:34:23
我正在尝试用从mysql表中获取的数据填充WPF应用程序中的数据网格。我有 5 个结构相同的表,我需要从每个表中获取最后 20 行。
下面的代码做得很好,除了一件小事 - 我需要在每个相应的行中带有商店名称(由第一个查询获取的存储变量)的附加列。
请从哪里开始任何想法!
void fillDataTable()
{
string store;
string connection = Properties.Settings.Default.sqlconn;
MySqlConnection conn = new MySqlConnection(connection);
conn.Open();
string nameQuery = "SELECT `name` FROM `stores`";
MySqlCommand selectStore = new MySqlCommand(nameQuery, conn);
MySqlDataReader readName = selectStore.ExecuteReader();
DataSet ds = new DataSet();
while (readName.Read())
{
store = readName["name"].ToString();
MySqlConnection conn1 = new MySqlConnection(connection);
conn1.Open();
string dataQuery = "SELECT * FROM `"+ store + "` ORDER BY `id` DESC LIMIT 20";
MySqlCommand selecetData = new MySqlCommand(dataQuery, conn1);
MySqlDataAdapter da = new MySqlDataAdapter(selecetData);
da.Fill(ds, "LoadDataBinding");
conn1.Close();
}
salesGrid.DataContext = ds;
conn.Close();
}
你可以试试这个(避免循环遍历你的数据表来填充你的列):
string dataQuery = "SELECT '"+ store + "' AS '"store'",* FROM '"+ store + "' ORDER BY 'id' DESC LIMIT 20";
好吧,您只需通过以下代码即可将任意数量的列添加到DataTable中:
ds.Tables[0].Columns.Add("ColumnName", Type.GetType("System.String"));
注意:您需要在填充数据集后添加列。