你删除的时候,至少要和搜索出来的那条记录有关联吧,在你的delete 中没有体现,所以就是删掉第一条了
解决方案 »
- 关于CEdit的自定义右键菜单问题
- CDateTimeCtrl::SetFormat()出错
- 关于WMP组件IDL定义的疑惑
- 学完C/C++直接学MFC程序设计行不行?
- 才鸟问题!如何使一个类中的数值在另一个类的Edit控件上显示?
- 求能够有效防止DDOS攻击的放火墙,分或Money不成问题,大家帮帮我
- 请教解决方案
- 谁能告诉我可行性分析报告怎么写或者有可行性分析的报告模板?谢谢!
- 我如何才能响应ClistCtrl控件的 LVN_ITEMCHANGED 和 LVN_ITEMCHANGING 消息啊?救命啊
- 急!急!急!
- VC2005 使用sqlite制作简易通讯录 报错!!!!急急急 求赐教
- 请教:图片翻页特效问题(two buffer)
解决办法是:
1、打开记录集时指定查询条件,select * from table_name where ID = 'id'
2、获取当前记录的员工ID,如果不是要删除的。滚动到下一条。如果是删除当前记录,关闭记录集。
不就行了。
正如这位兄台所说,你在打开记录集的时候应该使用SQL语句,根据你的关键字(一般都是关键字唯一性)直接查找到符合条件的记录(一行数据),如果这条记录里确实存在符合你条件的字段,记录集指针会移动到这条记录,这样你才能准确无误的删除一条记录,当然,这里你也可以修改了。
CStaffSet sSet;
sSet.Open(); //打开表,一般情况下游标指向的是BOF的,ODBC没怎么用过,好像是指向第一行的
CWarning dlg;
if(dlg.DoModal()==IDOK) //确认删出警告框
{
TRY
{
sSet.Delete(); //删出记录
后面的不用看了,你应该知道你自己的问题在哪儿了吧