删除sql server数据库中内容时出现的错误

 
环境:操作系统win2000pro,数据库sql sever 2000,编程vc6.0,ODBC,用类CRecordSet连结数据表。
症状一:在用CRecordSet::Delete()对表中内容进行删除时,出现“多行数据更新”的错误
原因:在数据表中有多行内容完全相同的行,在删除当前记录时,所有相同的项均被删除。
解决办法:在表中增中一个列表示序号,可由数据表自动增加序号,消失内容相同的行。
 
症状二:在出现症状一的情况下,再对数据表进行操作,由会出现“无当前记录,操作失败”的错误提示。
原因:在对表中行进行删除后,会调用CRecordSet::MoveNext()来跳过被删除的行,而因为多行相同行同时被删除,导致被删除的行不止一行,而具体删除了多少行又未知,因此调用一个MoveNext()只跳过一个被删除行,但此刻当前记录仍停在其它被删除的行上,因此其后再对表操作出现无当前记录的提示。
解决办法:只要消失了内容相同行的问题,则此问题迎刃而解。
 
CString的字符内容检查方法:
可调用CString:;GetAt(int index)来获得需要检查的位的字符。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值