private void btnDelete_Click(object sender, EventArgs e) { //只能显示 string sql = "delete from T_Cost where HasConfirm=0 "; //如果datagridview的当前行被选中 if (dgvEntry.CurrentRow.Selected) { //将sql语句 delete from T_Cost where HasConfirm=0 and CostId =(CostId号) sql = sql + "and CostcostIDDataGridViewTextBoxColumn"].Value.ToString()); } int n = 0; SqlConnection conn = new SqlConnection(connStr); SqlCommand cmd = new SqlCommand(sql, conn); conn.Open(); n = cmd.ExecuteNonQuery(); conn.Close(); if (n > 0) { MessageBox.Show("删除成功!"); } else { MessageBox.Show("不存在的ID!"); } //删除完后 刷新一下当前数据 Refresh(); }
例如上边的这个 删除成功以后调用refresh方法 datagridview中的数据不能更新 而且有时候插入数据的时候数据库中的数据也不更新 但是下次再运行程序的时候数据已经插入或者删除了 是这个刷新的方法有问题还是数据库有缓存啊 我是在本地VS上建的数据库做测试用 会不会有影响啊 哪位大哥帮忙看一下哪的代码有问题 还是别的问题 这是我做的第一个程序啊 谢谢各位了
3 回答
米脂
TA贡献1836条经验 获得超3个赞
Refresh()是你自己写的方法还是 winform里那个Refresh()。如果是后者,这个方法仅仅是重新绘制控件。如果你要刷新数据,你的再加载一遍数据,或者把删除的数据从gridview里写代码删除。建议你看看.net里的数据绑定相关知识,你这样写又费劲又不好维护。可以绑定dataSet或者其他数据集,这样数据集改变了,控件上的数据也同步改变,然后你在后台写代码将数据集的数据和数据库中的数据保持同步。
慕桂英546537
TA贡献1848条经验 获得超10个赞
是当时不显示变化 但是下次再运行程序的时候就有变化了 只是操作和数据库的更新不同步 不知道是datagridview的原因还是数据库的原因 我先试试你说的方法 谢谢
- 3 回答
- 0 关注
- 459 浏览
添加回答
举报
0/150
提交
取消