写了个在dataGridView控件中修改数据后,点击按钮后自动更新到数据库的代码,
PS:主键已经设置了,但是还是这个报错,第一次点击按钮能成功不会报错,再修改一条点击更新后,就会报错,但是表有时还能改过来!跪求各位大神解答
违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- weixin_38707867 2017-08-24 02:03关注
已经困扰我没办法了!贴上代码
private void btModifier_Click(object sender, EventArgs e)
{
string strSql = "select * From 部门表";
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(strSql, myconnection);
DataSet ads = new DataSet();
adapter.Fill(ads, "部门表");
DataTable dt = new DataTable();
dt = ads.Tables["部门表"];
dt.Rows.Clear();
// dt.PrimaryKey = new DataColumn[] { dt.Columns["部门号"] };//设置表的主键,这句能修改原来建表时设定的主键,每个表只有一个主键
adapter.FillSchema(dt, SchemaType.Mapped);
DataTable dtShow = new DataTable();
dtShow = (DataTable)dataGridView1.DataSource;
for (int i = 0; i < dtShow.Rows.Count; i++)
{
dt.ImportRow(dtShow.Rows[i]);
}
// try
// {
SqlCommandBuilder CommandBuiler;
CommandBuiler = new SqlCommandBuilder(adapter);
// MessageBox.Show("调试代码444");
if (dt.GetChanges() == null)
{
// adapter.Update(dt.GetChanges());} adapter.Update(dt); dt.AcceptChanges(); MessageBox.Show("修改成功"); if (dt.GetChanges() == null) { // adapter.Update(dt.GetChanges()); } // MessageBox.Show("调试代码6744"); // } // catch (Exception ex) // { //MessageBox.Show("调试代码3!" + ex.ToString()); // } }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条
- ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘