C# 中DataGridView中值修改如何反映到数据库
C# 中DataGridView中值修改如何反映到数据库
我从数据库中读取了一个表的值
DataTable table;
table = FormOperate.readfromsqlsome("MaterialParaBro", "ParameterName,ParameterValue,ParameterUnit,Description", "MaterialNameCN", Value2);
dataGridView1.DataSource = table.DefaultView;
现在我修改dataGridView1中的某几个值,怎么做才能让数据库中对应的值也更新到和修改后的值一样
删除dataGridView1中的某几行时,怎么做才能让数据库中对应的记录也删除
[解决办法]
写一个数据库修改方法,要修改的值作参数传进方法
update 表名 set 所有列名=对应的值 where 主键
对应的Command方法
winform用datagridview.rows[].cells[].value.ToString()去读取datagridview单元格的值,然后一一对应调用update方法就可以了。
删除sql语句写delete就可以了方法差不多的
[解决办法]
很简单,使用SqlDataAdapter就行了。
修改完成之后直接调用SqlDataAdapter.Update()就OK了。
可以配合使用SqlCommandBuilder自动为你创建更新和删除的SQL语句。
[解决办法]
使用SqlCommandBuilder就可以直接将你DataGridView中的数据同步到数据库中的、
不过这是人家写好的东西、我不怎么喜欢、一直都是自己写、
给段代码你参考下吧!
- C# code
string person_ID = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[0].Value.ToString(); string person_name = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[1].Value.ToString(); string person_age = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[2].Value.ToString(); string person_sex = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value.ToString();//然后将数据更新到数据库、 SqlConnection coon = new SqlConnection(connectionstring); coon.Open(); SqlCommand cmd = new SqlCommand("update 酒店人员 set 姓名 =@name, 年龄 =@age, 性别 =@sex where 工作编号 =@id,coon); cmd.Parameters.AddWithValue("@name",person_name ); cmd.Parameters.AddWithValue("@age",person_age ); cmd.Parameters.AddWithValue("@sex",person_sex ); cmd.Parameters.AddWithValue("@id",person_ID); SqlDataReader dr = cmd.ExecuteReader(); coon.Close(); MessageBox.Show("修改数据成功!");
[解决办法]
插入行:
- C# code
string insertStr = "insert into 学生信息(学号,姓名,性别,出生日期,民族,所属班级,家庭地址) values ('','','','','','','')"; SqlCommand insert_com = new SqlCommand(insertStr, conn); if (insert_com.ExecuteNonQuery() > 0) { MessageBox.Show("插入新数据成功","成功提示"); }