【问题标题】:Add a column to a dataset C#将列添加到数据集 C#
【发布时间】:2015-02-13 16:36:19
【问题描述】:

我正在尝试使用从 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();
}

【问题讨论】:

    标签: c# mysql wpf datagrid


    【解决方案1】:

    你可以试试这个(避免循环遍历你的数据表来填充你的列):

    string dataQuery = "SELECT '"+ store + "' AS \"store\",* FROM '"+ store + "' ORDER BY 'id' DESC LIMIT 20";
    

    【讨论】:

      【解决方案2】:

      好吧,您可以通过如下代码向 DataTable 添加任意数量的列:

      ds.Tables[0].Columns.Add("ColumnName", Type.GetType("System.String"));
      

      注意:填写数据集后需要添加列。

      【讨论】:

        猜你喜欢
        • 2019-07-14
        • 1970-01-01
        • 1970-01-01
        • 2017-01-29
        • 2012-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-12
        相关资源
        最近更新 更多