c#向mysql数据库教程录入数据前怎么判断是否录入数据的主键与已有主键相同

使用SqlDataAdapter.Update可以方便地对mysql数据库教程进荇快速、批量数据更新我们最常用的多条数据更新方法是使用循环多次执行SQL语句或存储过程,这样虽然方便但由于连接和数据传递要茬服务器和客户端多次来往,大大增加了整个过程的时间当数据越大时越明显!

1.建立测试mysql数据库教程和表

2.建立解决方案和项目

//执行后查看表中数据,如图:


上面我只作了插入操作那现在将Select中的Top 0 去掉,把表中的数据全部加载到DataTable然后执行删除和更新操作

执行后将出错错误信息“对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成”

出错原因是建表时没有设置主键。主键唯一标识一行数据SqlCommandBuilder是根据DataTable每行的RowState及对應的主键来生成命令的,没有主键就无法确定删除哪条数据当然不可能根据其他列来删除,因为其他列可能重复这样会删除多行数据,很可能执行后不是你想要的结果这种不确定性的对数据的操作方法,微软当然不可能提供给你!

再次执行上面的代码2.


我们发现第12行數据更新了,但是第34行却没有删除。这是怎么回事呢

的注释去掉,使之执行Delete方法而不是RemoveAt方法

所以使用SqlCommandBuilder时应该注意的2点:表要有主键應使用delete方法删除行.

第SNo为11,12的数据是新增的

原来SNo为5,6也就是第34条数据已经被删除

}

我要回帖

更多关于 mysql数据库教程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信