本帖最后由 wyz365889 于 2012-10-19 10:34:36 编辑

解决方案 »

  1.   

    第二种,每增改删一行数据记录时,更新内存表,重新绑定内存表,当退出datagridview时一次保存更改到物理数据表。
      

  2.   

    楼主:数据库的增改删及与数据控件datagridview的操作,任何一本书上都会提到。建议你先理流程,再查资料完成,这种功能没法给你写代码。
      

  3.   

    那你修改的时候把传一个字段的值,比如主键ID。在编辑页面写一个查询的方法,获取到这个ID为查询条件。把你查到的数据记录显示到编辑页面。剩下来的思路就跟添加一样了。
      

  4.   

    肯定是漏掉了插入数据库的操作啊,要插入的数据你等获取到吧
    ADO.NET的流程会不  SqlConnect  SqlCommand  open 执行  close,这样数据才会被擦入到数据库里面啊插入完成后在读取到DataTable里面绑定即可显示你刚才加的数据了。
      

  5.   

    更新数据解决:     private void button_edit_Click(object sender, EventArgs e)
            {
                string strUserID = this.dataGridView_user.SelectedCells[0].Value.ToString();
                MessageBox.Show(strUserID);            this.dataGridView_user.SelectedCells[0].Value = textBox1_UserID.Text;
                this.dataGridView_user.SelectedCells[2].Value = textBox3_PWD.Text;
                this.dataGridView_user.SelectedCells[4].Value = textBox2_re.Text;            this.dataGridView_user.SelectedCells[3].Value = comboBox1_Group.Text;            sqlDA.Update(ds, "T_User");
            }
      

  6.   

    现在又遇到一个 问题 c# datagridview 插入一行数据后,主键跟表里面冲突,怎么解决! datagridview绑定表后,有方法不通过操作select语句来判断是否主键重复吗?
      

  7.   

    主键本身是有唯一索引的作用的,每个主键都内置一个索引记录,当主键修改时,索引也会跟着修改,会导致索引的杂乱,影响索引的查找速度,虽然可以事后重整索引,但是重整过程整个数据库将无法使用。
    必须选择插入后不再有改动的列作为主键,如果没有这个列,就必须使用自增长列DataSet ds = new DataSet();
    SqlDataAdapter sda;SqlCommandBuilder scb = new SqlCommandBuilder(sda);
    sda.Update(ds);
    this.dataGridView1.DataSource = ds.Tables[0];
      

  8.   


    你的主键是int行的话,就设置自增长
    Guid的话。Guid.NewGuid()总之就是增加时不要人工输入主键
      

  9.   


    必须使用自增长列DataSet ds = new DataSet();
    ???
    我添加一个用户数据进去,怎么要增加列了??
      

  10.   


     string strUserID = textBox1_UserID.Text;
                string strUserPWD = textBox3_PWD.Text;
                string strGroupID = comboBox1_Group.Text;
                string strRe = textBox2_re.Text;            //string[] strRow ={ strUserID, "", strUserPWD, strGroupID, strRe };
                //dataGridView_user.Rows.Add(new object[] { strUserID, "22", strUserPWD, strGroupID, strRe });            DataRow dRow = dt.NewRow();
                dRow["UserID"] = strUserID;
                dRow["UserName"] =strUserID;
                dRow["UserPWD"] = strUserPWD;
                dRow["GroupID"] = strGroupID;
                dRow["Re"] = strRe;
                dt.Rows.Add(dRow);
                sqlDA.Update(ds, "T_User");如上,添加的时候怎么判断主键已经存在了。
      

  11.   

    怎么只有查询的sql语句? 插入/删除/修改 不需要sql语句吗?(今天刚了解DataGridView这个控件..)