从datagridview更新到数据库方法

从datagridview更新到数据库从网上找的方法大多是datagridview绑定后更新到数据库。实际操作中发现存在诸多限制:

如要求必须有主键、还要主键在操作的语句中。晕,太不灵活了

常见代码:

SqlCommandBuilder cmd = new SqlCommandBuilder();
string str="select name,使命感,团队意识,工作能力,学习力,组织原则 from votexinxiinfo";
Conn.getcon(); //打开与数据库的连接
SqlDataAdapter da = new SqlDataAdapter(str, Conn.getcon()); //创建一个SqlDataAdapter对象,并获取指定数据表的信息
DataSet ds = new DataSet(); //创建DataSet对象
da.Fill(ds, "table1");
cmd.DataAdapter = da;
DataTable dt = new DataTable();
dt = (DataTable)dataGridView1.DataSource;
da.Update(dt);
Conn.con_close();

后来发现通过循环加上sql语句控制更新

for (int i = 0; i < this.dataGridView1.RowCount - 1; i++)
{
string a = dataGridView1.Rows[i].Cells[0].Value.ToString();
string b = dataGridView1.Rows[i].Cells[1].Value.ToString();
string c = dataGridView1.Rows[i].Cells[2].Value.ToString();
string d = dataGridView1.Rows[i].Cells[3].Value.ToString();
string p = dataGridView1.Rows[i].Cells[4].Value.ToString();
string q = dataGridView1.Rows[i].Cells[5].Value.ToString();
string str1 = "update votexinxiinfo set 使命感='" + b + "',团队意识='" + c + "',工作能力='" + d + "',学习力='" + p + "',组织原则='" + q + "'where name='"+a+"'and 时间='"+string.Format("{0:Y}", DateTime.Now)+"'"; Conn.getsqlcom(str1);
}
MessageBox.Show("评价已提交完成。", "提示");

因为不加限定词直接更新会把原数据覆盖,所以加上限定词'where name='"+a+"'and 时间='"+string.Format("{0:Y}", DateTime.Now)+"'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值