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, , "ename");
cmdUpdate.Parameters.Add("@code", SqlDbType.VarChar, , "ecode");
cmdUpdate.Parameters.Add("@id", SqlDbType.Int, , "eid");
//构造适配器的修改命令属性
adapter.UpdateCommand = cmdUpdate; conn.Open();
//完成数据更新,会逐条的对比数据
//情况1:dt中有的数据,而数据库中没有,则会调用InsertCommand执行
//情况2:dt中没有的数据,而数据库中有,则会调用DeleteCommand执行
//情况3:都有,但是不一样,则会调用UpdateCommand执行 adapter.Update(dt);
}
}
}

最新文章

  1. 【IOS】将字体大小不同的文字底部对齐
  2. 2014百度之星资格赛 1004:Labyrinth(DP)
  3. hdu 4055 递推
  4. 20145222黄亚奇《Java程序设计》第1周学习总结
  5. 认真对待每一道算法题 之 两个排序好的数组寻找的第k个大的数
  6. shell之eval-command
  7. C#透明窗体代码详解
  8. Codeforces Round #197 (Div. 2) C,D两题
  9. lightoj 1063 求割点
  10. Windows Phone 使用 WriteableBitmap后台生成图片
  11. javaweb之session过期验证
  12. JavaScript大厦之JS运算符
  13. $_FILES["file"]["error"]是错误代码
  14. 未渲染的dom结构,绑定事件,jquery
  15. ORACLE UNDO
  16. python的_thread模块来实现多线程(<python核心编程例子>)
  17. 【json】使用json和java对象的序列化和反序列化
  18. Ubuntu下安装软件、卸载
  19. python判断结构总结
  20. python epoll实现异步socket

热门文章

  1. POJ 1436 (线段树 区间染色) Horizontally Visible Segments
  2. POJ 2524 (简单并查集) Ubiquitous Religions
  3. Localizing Astah – Chinese version(simplified) is now available!
  4. android linux shell 日期设置
  5. HDU2102 A计划
  6. 三:分布式事务一致性协议2pc和3pc
  7. c# 读取其他程序的ListView内容
  8. JavaScript定时器与执行机制解析
  9. (C#)RichTextBox控件
  10. 提高zxing生成二维码的容错率及zxing生成二维码的边框设置