关于datatable的一些操作以及使用adapter对数据的操作

关于datatable的一些操作以及使用adapter对数据的操作

关于datatable的一些操作以及使用adapter对数据的操作

private void updateToolStripMenuItem_Click(object sender, EventArgs e)

        {//将数据更新回数据库

            //获取源数据

            DataTable dt = dataGridView1.DataSource as DataTable;

            if (dt != null)

            {

                string connStr = "Data Source=(local);Initial Catalog=hem09;User ID=sa;Password=123456";

                using (SqlConnection conn = new SqlConnection(connStr))

                {

                    //构造适配器对象

                    SqlDataAdapter adapter = new SqlDataAdapter();

                    //构造修改语句

                    string sql = "update employee set ename=@name,ecode=@code where eid=@id";

                    //构造用于修改的命令对象

                    SqlCommand cmdUpdate = new SqlCommand(sql, conn);

                    cmdUpdate.Parameters.Add("@name", SqlDbType.NVarChar, 10, "ename");

                    cmdUpdate.Parameters.Add("@code", SqlDbType.VarChar, 18, "ecode");

                    cmdUpdate.Parameters.Add("@id", SqlDbType.Int, 4, "eid");

                    //构造适配器的修改命令属性

                    adapter.UpdateCommand = cmdUpdate;



                    conn.Open();

                    //完成数据更新,会逐条的对比数据

                    //情况1:dt中有的数据,而数据库中没有,则会调用InsertCommand执行

                    //情况2:dt中没有的数据,而数据库中有,则会调用DeleteCommand执行

                    //情况3:都有,但是不一样,则会调用UpdateCommand执行



                    adapter.Update(dt);

                }

            }

        }

 

你可能感兴趣的:(Datatable)