[b]怎样用datagridview来录入数据到SQL2005并在点击“添加”按钮后同时在datagridview里刷新显示出来?我在窗体里放一datagridview控件和3个按钮,(“添加”、“删除”、“保存”)。
用datagridview控件来作为输入数据并显示数据用(初始属性设置3列);
3个按钮的作用如下:
点“添加”按钮在datagridview控件里新增一空白行,且要新增加的行在datagridview里显示在最下方以方便输入数据;
点“保存”按钮要求把刚才在新增加行里输入的数据录入到SQL2005数据库里并同时在datagridview里刷新显示出来;
“删除”按钮要求如下:就是我点击选中datagridview控件里的任意一行后,点击“删除”,即可删除该条记录(同时在SQL2005里删除记录以及刷新datagridview控件并显示)
以上就是我的全部需求,我已经奋战3天2夜并尝试过很多方法而无果!!!我是C#初学者,很想攻克这一难题,想请各位高手指点迷津,最好能给出完整代码,我在此万分感激!小弟的账号里刚好用完分值,所以在此没用分送上,要是有哪位兄台给出解决办法,日后必将报答!再次感谢![/
b]

解决方案 »

  1.   

    告诉你方法吧
    添加最简单了,在你绑定的 datatable 里面添加一个 新的 DataRow 在绑定就处理一个新行了其他 更新,删除 去google 都有
      

  2.   

    有一个比较费时费事的办法,你有时间和精力的话可以试试安装VS2002,新建一个项目,然后在项目菜单中选择"添加Window窗体",在对话框中选择"数据窗体向导"完成后分析里面的代码和功能(那时没DataGridView,是DataGrid)VS2005后,这个功能没了,不过这个功能的确问题很多,不做大量修改的话,基本上代码不能用,不过对于学ADD.net和数据绑定来说,是非常好的一个示例
      

  3.   

    ADO.net 打成ADD.net了,汗........
      

  4.   

    你把 datagridview 设置成 readonly=true ,允许用户插入数据,点插入的时候,把 readonly=False,下面就出插入条了。
    保存 用
    SqlCommandBuilder sqlbui = new SqlCommandBuilder(dataAdapter);
    dataAdapter.Update(dataSet,"表名");
    然后刷新 datagridview 
    删除是:
    Convert.ToInt32(datagridview.SelectedRows[0].Cells[0].Value) 获取你选中的那行的 第一个格的值,一般都是保存的主键,且是隐藏列
    用这个获得主键值,写删除语句就可以了。
      

  5.   

    dataset绑定datagridview,写个循环,insert到数据库。
    保存按钮SQL语句:insert into 表 (列1,列2) values ('" + ds.Tables[0].Rows[i][0].ToString() + "','" + ds.Tables[0].Rows[i][1].ToString() + "')
      

  6.   

    感谢大家的提醒和帮助,只是我还没有搞定,希望哪位兄弟能给出比较全面完整的code。谢谢你们!
      

  7.   

    datagridview添加一行数据
    DataSet ds = new DataSet();
    SqlDataAdapter sda;SqlCommandBuilder scb = new SqlCommandBuilder(sda);
    sda.Update(ds);
    this.dataGridView1.DataSource = ds.Tables[0];
    实现更新,重新绑定
      

  8.   

    我用的环境是C#2008,SQL2005,主要需要“添加”按钮的代码
      

  9.   

    添加:
    this.dataGridView1.BindingContext[this.dataGridView1.DataSource, this.dataGridView1.DataMember].AddNew();删除:
     this.dataGridView1.BindingContext[this.dataGridView1.DataSource, this.dataGridView1.DataMember].RemoveAt(this.dataGridView1.BindingContext[this.dataGridView1.DataSource, this.dataGridView1.DataMember].Position);
      

  10.   

    保存:
    这个对于你的DataGridView的DataSource的类型来说有点区别,如果是来自SqlCommandBuilder的SqlDataAdapter的DataSet,可以参照如下代码:
    System.Data.SqlClient.SqlDataAdapter adapter=....;
    DataSet tempSet=((DataSet)this.dataGridView1.DataSource).GetChanges();
    adapter.Update(tempSet);
    ((DataSet)this.dataGridView1.DataSource).Merge(tempSet);//取回其他用户对数据库更新的数据,并更新当前DataGirdView
      

  11.   

    加入到了数据库里面后,datagridview.refresh方法就可以了。datagridview添加行在帮助文档里面看。