关于SqlCommandBuilder

很多时候,我们使用SqlCommandBuilder来保存,删除datagridview中的数据达到更新数据库的目的

如下:

/全局变量
private SqlDataAdapter da;
private DataSet ds;
//程序登陆代码
private Test_load(object sender,EventArgs e)
{
SqlConnection conn = new SqlConnection("server=.;Initial Catalog=MySchool;Integrated Security=True");

da = new SqlDataAdapter("select 用户名=userID,用户密码=UserPass from 用户表", conn);

ds = new DataSet();
da.Fill(ds, "用户表");
this.dataGridView1.DataSource = ds.Tables[0];
}
//保存按钮代码
private btnSave_Click(object sender,EventArgs e)
{
SqlCommandBuilder sbc=new SqlCommandBuilder(da);
da.Update(ds.Tables[0]);
}
  但是,经常会出现这样的问题:"对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成",这个主要是创建的表中没有主键,无法生成动态SQL,所以需要设置主键解决。

你可能感兴趣的:(关于SqlCommandBuilder)