首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

高分求救关于ADO插入数据有关问题,与主键有关

2012-01-18 
高分求救关于ADO插入数据问题,与主键有关环境:VC6+SQLSEVER2005方法:m_pConnection2- Execute( Insertin

高分求救关于ADO插入数据问题,与主键有关
环境:VC6   +   SQL   SEVER2005
方法:
m_pConnection2-> Execute( "Insert   into   dbo.ttt   (id,name)   Values   ( '2 ', '1 ') ",&RecordsAffected,adCmdText);

m_pConnection2-> Execute( "Insert   into   dbo.ttt   (id,name)   Values   ( '2 ', '2 ') ",&RecordsAffected,adCmdText);

如果设置了主键id,则程序强行退出,问有没有好的办法,表中数据实在太多,如果插入前先查找的话效率上不能接受

[解决办法]
问有没有好的办法,表中数据实在太多,如果插入前先查找的话效率上不能接受


那你想怎么样,要么插入之前查一下,不然的话,你这么搞肯定有异常的

你要么插入之前检查一下是否主键存在

要么保证你的主键不冲突


[解决办法]
你可以设置一个自增列,并设置不重复的约束,insert的时候,不要显式给此列赋值


[解决办法]
可以增加存储过程。在存储过程中判断是否有主键冲突。如果冲突,可以考虑自动获得最大的不冲突号来解决,或者存储过程返回一个错误信息。在数据库里判断是否冲突效率上肯定比在VC里判断强多了。
[解决办法]
主键id在你插入一条记录时,会自动增加!你不必专门处理主键id!
[解决办法]
但主键id在记录删除后,不会自动减一!
[解决办法]
就用上边的方法,新加一个列,设定为自动增长列,让数据库去管。

热点排行