Mysql更新数据库使用更改的datagrid c#

时间:2014-03-07 18:17:36

标签: c# mysql wpf datagrid

我尝试使用WPF应用程序来连接和编辑数据库。我是关于c#编程的新手。我已连接do数据库并将结果绑定到datagrid。

 public MainWindow()
        {

            InitializeComponent();
            dataTable = new DataTable("dzialy");
            mySqlConnection = new MySqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            try
            {
                //mySqlConnection.Open();
                MySqlCommand cmd = new MySqlCommand("Select * from dzialy", mySqlConnection);
                mySqlDataAdapter = new MySqlDataAdapter(cmd);
                mySqlCommandBuilder = new MySqlCommandBuilder(mySqlDataAdapter);
                mySqlDataAdapter.UpdateCommand = mySqlCommandBuilder.GetUpdateCommand();
                mySqlDataAdapter.DeleteCommand = mySqlCommandBuilder.GetDeleteCommand();
                mySqlDataAdapter.InsertCommand = mySqlCommandBuilder.GetInsertCommand();
                 ds = new DataSet();
                 mySqlDataAdapter.Fill(dataTable);
                 mySqlDataAdapter.Fill(ds, "LoadDataBinding");
                 dataGridCustomers.DataContext = ds;

            }
            catch (MySqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                //mySqlConnection.Close();
            }
        }

在datagrid上我很容易从数据库中更改值。这可以将更改的数据网格发送到数据库吗?

1 个答案:

答案 0 :(得分:0)

我建议你如果从C#/ WPF开始,你开始使用MSSQL而不是MySQL,互联网上有很多使用MSSQL和Entity Framework的例子。实体框架是OR映射器。这将数据库表中的行映射到代码C#中的对象 这些被称为实体。

如果您使用Entity Framework,您可以使用LINQ,这是您可以使用的语言,您在C#中编写。这些查询将由实体框架转换为真正的SQL查询。

例如,如果你拿走你的代码 你可以像这样重写这个

using(var context = new EntitiesContext())
{
   var entities = context.Dzialies.ToList();
}

上面的代码是选择表dzialy中的所有行。 现在可以将实体设置为dataGridCustomer。 我建议你看看以下链接开始

Click ME!

实体框架的绝对初学者指南与ASP.net MVC一起使用,但它与WPF大致相同。我希望这可以帮助您进行搜索。