直接在DataGridView中添加修改数据的问题

当DataGridView绑定数据库后,直接在DataGridView中修改和添加数据多条数据,点击一个按钮后直接保存到数据库。如图所示,可以直接在表中修改数据,或者可以添加一行数据,然后点击Save后保存到数据库。注意:这里可以修改多行数据和添加多行数据,然后只点击save后保存到数据库。求高手解答!最后有代码

哈哈,我昨天刚刚做好这个,这是我们C#数据库设计的一部分要求。
说明下我用的是VS2005的C#和SQL 2005。不知道你是不是想用datagridview实现读取数据表和批量修改或添加,还有删除当前行。
首先用datagridview读取数据表
private void 商店一_员工_Load(object sender, EventArgs e)
{
sqlConn = new SqlConnection("Data Source=ASUS-PC\\SQLEXPRESS;Initial Catalog=SUPERMARKET;Integrated Security=True;");
sqlDa = new SqlDataAdapter("SELECT * FROM dbo.商店一_员工", sqlConn);

sqlDs = new DataSet();
sqlDa.Fill(sqlDs, "dbo.商店一_员工");
dataGridView1.DataSource = sqlDs.Tables["dbo.商店一_员工"];

//然后用SqlCommandBuilder自动为SqlDataAdapter生成Insert、Update、Delete命令
SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(sqlDa);
}
第一个按钮完成修改更新事件:
private void button1_Click(object sender, EventArgs e)
{
if (sqlDs.HasChanges())
{
try
{
sqlDa.Update(sqlDs.Tables["dbo.商店一_员工"]);
sqlDs.Tables["dbo.商店一_员工"].AcceptChanges();
MessageBox.Show("更新成功!", "操作结果", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "更新失败!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
第二个按钮完成删除当前行
private void button2_Click(object sender, EventArgs e)
{
//删除首先要定位到当前选中的记录
int delRowIndex = dataGridView1.CurrentRow.Index;
this.dataGridView1.Rows.RemoveAt(delRowIndex);

//然后调用保存按钮保存删除操作
button1.PerformClick();
}

PS:
using System.Data.SqlClient;
using System.Data;
SqlConnection sqlConn;
SqlDataAdapter sqlDa;
DataSet sqlDs;
还有数据库里表要设置主键

参考资料:CSDN论坛

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-09
遍历DataGridView,然后就可以保存了追问

具体怎么做?如何通过遍历能获得改变的值?

第2个回答  2012-06-09
页面已经有了么追问

也可以重新用另外的方法进行绑定,如何做?

怎样直接在datagridview里修改数据
job_id = int.Parse (this.dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());job_desc = this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();min_lvl = int.Parse(this.dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString());max_lvl = int.Parse(this....

C#datagridview控件修改数据到数据库问题 急~~~!!
看样子你可能是在DataGridView修改之后直接按了按钮。如果没有将焦点离开过编辑行,你编辑的内容不会被存入DataSet或者DataTable。因此你无法将修改保存至数据库。你可以在按钮按下后调用DataGridView的EndEdit()方法,强制令DataGridView写入数据。之后再更新数据库就应该好用。

vb.net中向datagridview中添加,删除,修改记录并保存到access数据库,求...
一般是将access数据库绑定到datagridview中,要添加数据只需要datagridview1.Item(3, 0).Value=XXX这种就行了,删除修改同理。保存到access是你已经有了一个access表吧?不然字段都要新建的。如果要保存到数据库的话就调用sql语句链接数据库了,我找个以前的代码 Dim OleDbConn As OleDbConnection = ...

C#datagridview问题在dgv中编辑数据点修改按钮后更新数据到数据库中...
首先你gridview绑定的数据源最好是DataTable类型,当你编辑好数据进行修改后,可以将datagridview的数据源转换成DataTable类型,然后利用 DataRowState循环获取每行的状态是更改还是更新操作,如果为更新操作你可以遍历每列生成update的语句,然后统一抛给执行更新sql的方法去操作。源码给你吧 DataTable dt1 =...

如何在vb.net的datagridview中实现删除、添加、修改数据
首先定义一个datatable Dim dt As DataTable = DataGridView1.DataSource '删除 dt.Rows(i).Delete()'\/\/i就是要删除的序号 '添加 Dim nr As DataRow = dt.NewRow nr.Item(i) = "kfkfk"‘通过修改i(即列序列号)设置nr dt.rows.add(nr)'查找 自己查询sql的方法,很简单的。datagrid...

在C#的datagidview中需要修改数据,且知道修改的位置
你在设计界面看datagridview的事件,就是在右边属性框里的闪电图标。找到关于点击单元格的事件,双击添加进去。然后里面写代码 e.RowIndex可以获取点击的该行索引。然后你就update该行就可以了

在c#中,如何使dataGridView中的数据能够修改并且保存的数据库中?
在DATAGRIDVIEW中增加数据比较简单~就是一句SQL插入语句就OK了,修改和删除数据就需要获取到当前选中行的数据,具体方法如下:在DATAGRIDVIEW的CellClick事件(单击事件)中:\/\/这就是得到当前行的第四列的数据。string data=this.dataGridView1.CurrentRow.Cells[3].Value.ToString();然后你只需要将每一...

datagridview数据更新问题
这个其实不难,你可以将你的datagridview也一起传到修改的窗口,同时你选中的行号也传过去,然后在修改的窗口用一个datagridview的对象去接受传过去的datagridview,当你修改好的时候,操纵那个对象就可以了。那个窗口的值就也会变了 form2 f2=new form2(datagridview1,rowindex);f2.show();public ...

怎么用DataGridView直接更新ACCESS数据库里的数据
中设计一个“更新查询”。在查询设计器中,把要修改的表显示出来,在下面的字段栏中选择要修改或添加的字段名。在“更新到”栏中输入1,并保存查询。2. 执行查询,在资料表中的相应栏位即可得到所需要的值。此方法即简便又实用(特别是对已输入较多的记录而言),并且执行一次后即可将该查询删除。

winform中dataGridView上怎么修改、保存数据啊,急用啊?
1、如果datagridview1的属性selectionmode是fullrowselect的话,就 datagridview1.currentrow.cells["n_c"].value = textbox1.text.tostring().trim();2、如果datagridview1的属性selectionmode是cellselect的话,就 datagridview1.currentcell["n_c"].value = textbox1.text.tostring().trim();然后就...

相似回答