SqlCommandBuilder的用法

  • SqlCommandBuilder 用来SqlDataAdapter 自动产生SQL语句 ,批量更新DataSet, 不用再为SqlDataAdapter 写好 InsertCommand,DeleteCommand,UpdateCommand等Sql语句.如果对DataSet(注意是内存里)的修改(比如,遍历ds里的Tittle表修改某些字段,或者绑定到datagridview修改)可以通过Update自动更新数据库。当你不为SqlDataAdapter 指定SqlCommandBuilder的时候,你就必须手动为 SqlDataAdapter 写好 InsertCommand,DeleteCommand,UpdateCommand语句,否则是无法调用Update方法来更新的。

  • 
          
          
    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Windows.Forms;
    9. using System.Data.SqlClient;
    10. namespace WindowsFormsApplication1
    11. {
    12. public partial class Form1 : Form
    13. {
    14. SqlConnection conn;
    15. DataSet ds;
    16. SqlDataAdapter sda;
    17. public Form1()
    18. {
    19. InitializeComponent();
    20. }
    21. private void button1_Click(object sender, EventArgs e)
    22. {
    23. DataTable dt = new DataTable(); //创建一个表
    24. dt = ds.Tables[ 0]; //将DataSet中的数据赋值给dt表
    25. sda.FillSchema(dt, SchemaType.Mapped); //FillSchema是用来向DataTable中填入详细的元数据信息的,例如(column names, primary key, constraints等),但不填入数据。
    26. DataRow dr = dt.Rows.Find(txtID.Text); //表示DataTable中的一行数据
    27. //设置DataRow中的值
    28. dr[ "orderdate"] = txtorderdate.Text;
    29. dr[ "ordercode"] = txtordercode.Text;
    30. dr[ "materialscode"] = txtmaterialscode.Text;
    31. dr[ "materialsquantity"] = txtmaterialsquantity.Text;
    32. //使用SqlCommandBuilder的好处在于你对DataSet(注意是内存里)的修改(比如,你遍历ds里的Tittle表修改某些字段,
    33. //或者绑定到datagridview修改)可以通过Update自动更新到数据库
    34. SqlCommandBuilder cmdbuilder = new SqlCommandBuilder(sda);
    35. sda.Update(dt);
    36. }
    37. private void Form1_Load(object sender, EventArgs e)
    38. {
    39. conn = new SqlConnection( "server =D008;database =GoogolOrderMangment;uid = sa;pwd = 123456");
    40. SqlCommand cmd = new SqlCommand( "select * from materialsdownload ", conn);
    41. sda = new SqlDataAdapter();
    42. sda.SelectCommand = cmd;
    43. ds = new DataSet();
    44. sda.Fill(ds, "cs"); //将数据库数据填充到dataset数据表中
    45. dataGridView1.DataSource = ds.Tables[ 0];
    46. }
    47. }
    48. }
    <p>&nbsp;</p>
    </li>
    

//使用SqlCommandBuilder的好处在于你对DataSet(注意是内存里)的修改(比如,你遍历ds里的Tittle表修改某些字段,
//或者绑定到datagridview修改)可以通过Update自动更新到数据库

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值