使用C#wpf中的datagrid信息填充MYSQL数据库

时间:2013-10-23 16:40:35

标签: c# mysql datatable wpfdatagrid itemssource

相信我,我用Google搜索了它。很明显,win-forms上使用的C#代码由于半明显的原因而无法在C#WPF上运行。但是,如何使用数据网格中的修改或全新数据填充MYSQL表格并不明显。虽然它可以正常工作(使用MYSQL数据填充数据网格)。

    private void Save_Click(object sender, RoutedEventArgs e)
    {
        string sqlcon = "datasource = localhost; port = 3306; username = root; password = Avalisque";
        string queryadd = "insert into users.login (user_name,pass_word,gender,first_name,second_name,third_name,surname,security_question,answer);";
        MySqlConnection con = new MySqlConnection(sqlcon);
        MySqlCommand cmd = new MySqlCommand(queryadd, con);
        MySqlDataAdapter da = new MySqlDataAdapter(cmd);
        DataSet ds = new DataSet();


        try
        {
            con.Open();
            cmd.ExecuteNonQuery();

            DataTable dt = new DataTable("login");
            da.Fill(ds);
            DG.datasource = ds.Tables[0];
            da.Update(dt);

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }


    }

(DG是数据网格)。 这是错误信息:

'System.Windows.Controls.DataGrid'不包含'datasource'的定义,也没有扩展方法'datasource'接受类型为'System.Windows.Controls.DataGrid'的第一个参数'(你错过了使用指令或汇编引用吗?)

任何形式的帮助都非常感谢。有点绝望在这里。拜托,谢谢。

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找DG.ItemsSource = ds.Tables[0].AsEnumerable();

您收到该错误是因为System.Windows.Controls.DataGrid没有名为datasource的属性。

DataTableExtensions.AsEnumerable向您展示如何将DataTable变成Enumarable,其中T:DataRow

答案 1 :(得分:0)

我认为你有一个属性ItemsSource。

另外不要忘记wpf适用于mvvm模式。实际上,您的itemsource可能应该是viewModel中可用的ObservableCollection。