在这个第三方控件中为什么不能这么写呀 SqlConnection conn = vDB.getSqlConnection(false);
conn.Open(); SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from kq_user",conn); SqlCommandBuilder cb = new SqlCommandBuilder(da); da.DeleteCommand = cb.GetDeleteCommand();
da.InsertCommand = cb.GetInsertCommand();
da.UpdateCommand = cb.GetUpdateCommand();
da.Update(ds.Tables[0]);
conn.Close();
MessageBox.Show("保存成功!");
更新不了数据库.
我用的是Developer Express Inc.NET中的控件gridcontrol而不是datagrid.
用datagrid这么写没有任何问题.
请问用过这个控件的朋友帮一把,小弟感激不尽!

解决方案 »

  1.   

    DataSet 在哪里呀,你的ds在哪定义的?da没有填充ds呀
    还有,这个和Developer Express Inc.NET中的控件没有什么关系吧
      

  2.   

    哦对了上面还有一段
     SqlConnection conn = vDB.getSqlConnection(false);
    //ds = new XSD.CZY();

    conn.Open();

    string sql = " Select * from kq_user"; ds = vDB.getDataSet(conn,sql,false);

    this.gridControl1.DataSource = ds.Tables[0];
    conn.Close();
      

  3.   

    da和ds没有关系,
    看这句da.Update(ds.Tables[0]);
    你要用da更新ds的表,但在上面的语句中他们没有任何关系,当然更新不了
      

  4.   

    SqlConnection conn = vDB.getSqlConnection(false);
    conn.Open(); SqlDataAdapter da = new SqlDataAdapter();
    da.SelectCommand = new SqlCommand("select * from kq_user",conn);
             DataSet ds=New DataSet();
             da.Fill(ds);
    SqlCommandBuilder cb = new SqlCommandBuilder(da); da.DeleteCommand = cb.GetDeleteCommand();
    da.InsertCommand = cb.GetInsertCommand();
    da.UpdateCommand = cb.GetUpdateCommand();
    da.Update(ds.Tables[0]);
    conn.Close();
    MessageBox.Show("保存成功!");