求助!!一个困扰了我大量时间的ADO批删除问题
大哥们,我详细查看了MSDN中关于用ADO批量删除即delete的细节(单独删除一个不会有问题),
1,我先是用了ADO控件方式(ADO+DATAGRID)批删,代码如下:
C_Recordset recset = m_Ado_Rb.GetRecordset ();
recset.SetFilter ( _variant_t ( "姓名 like '1'" ) );
recset.CancleUpdate ();
recset.Delete ( 2 );//adAffectGroup值为2,adAffectCurrent值为1
recset.Update ( );
recset.Close ();
结果总是弹出一对话框,内容是:此环境下无法操作
2,没办法后我采用了第二种纯编码方式(删除一个也不会有问题,还是批删除出错),代码如下:
try
{
// 假设删除第二条记录
m_pRecordset->MoveFirst();
m_pRecordset->Filter = "姓名 like '1'";
//_variant_t va( (long)ADODB::adFilterAffectedRecords );
//m_pRecordset->put_Filter ( va );
m_pRecordset->CancelUpdate ();
m_pRecordset->Delete( ADODB::adAffectGroup ); // 参数 adAffectCurrent为删除当前记录adAffectGroup为批量删除
m_pRecordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
批删除还是有问题,是否你们在写批量删除时也遇到了类似的问题,运行后弹出一对话框,报错内容如下:
Runtime Error!
This application has requested,the runtime to terminate it in an unusual way.Please contact the application's support team for more information.
我试了N种办法,可是还是没治,大量的资料也没有提到这种问题,我很仔细地看了MSDN,如:
adAffectGroup 2 Affects only records that satisfy the current Filter property setting. You must set the Filter property to a FilterGroupEnum value or an array of Bookmarks to use this option.
可是真不知道怎么回事,就是不能解决问题,只有求助大哥们了,看能有什么好办法 ,我实在是舍不得再让这种问题消耗大量的时间了。愿给高分。但是用Command执行SQL的方法可以批量删除,请回帖的时候不要再写这种方法了,谢谢大家!
1,我先是用了ADO控件方式(ADO+DATAGRID)批删,代码如下:
C_Recordset recset = m_Ado_Rb.GetRecordset ();
recset.SetFilter ( _variant_t ( "姓名 like '1'" ) );
recset.CancleUpdate ();
recset.Delete ( 2 );//adAffectGroup值为2,adAffectCurrent值为1
recset.Update ( );
recset.Close ();
结果总是弹出一对话框,内容是:此环境下无法操作
2,没办法后我采用了第二种纯编码方式(删除一个也不会有问题,还是批删除出错),代码如下:
try
{
// 假设删除第二条记录
m_pRecordset->MoveFirst();
m_pRecordset->Filter = "姓名 like '1'";
//_variant_t va( (long)ADODB::adFilterAffectedRecords );
//m_pRecordset->put_Filter ( va );
m_pRecordset->CancelUpdate ();
m_pRecordset->Delete( ADODB::adAffectGroup ); // 参数 adAffectCurrent为删除当前记录adAffectGroup为批量删除
m_pRecordset->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
批删除还是有问题,是否你们在写批量删除时也遇到了类似的问题,运行后弹出一对话框,报错内容如下:
Runtime Error!
This application has requested,the runtime to terminate it in an unusual way.Please contact the application's support team for more information.
我试了N种办法,可是还是没治,大量的资料也没有提到这种问题,我很仔细地看了MSDN,如:
adAffectGroup 2 Affects only records that satisfy the current Filter property setting. You must set the Filter property to a FilterGroupEnum value or an array of Bookmarks to use this option.
可是真不知道怎么回事,就是不能解决问题,只有求助大哥们了,看能有什么好办法 ,我实在是舍不得再让这种问题消耗大量的时间了。愿给高分。但是用Command执行SQL的方法可以批量删除,请回帖的时候不要再写这种方法了,谢谢大家!
...全文
相关推荐
一个对ADO和ODBC共同支持的DLL正式软件代码,可以直接使用
ADO提供了一组COM对象,使程序员能够以面向对象的方式进行数据库操作,如查询、更新和删除数据。
msado15.dll 32位和64位各版本的ADO都有
描述中的"找了好久终于找到了所有的ADO控件"表明,这些文件可能是一个集合,包含了ADO的不同版本,这样开发者无需再为寻找特定版本的ADO而困扰。"
基于ADO的SQL Server图形数据库的存取方法.pdf
这一部分的代码实现展示了如何在数据库中操作包含图形数据的记录,包括图形的插入、查询、修改和删除等操作。
构建Web解决方案——应用ASP.NET和ADO.NET
例如,一个常见的应用场景是:用户在ASP.NET的Web表单中输入数据,提交后,这些数据会被传递到服务器,由ADO.NET处理并存入数据库。
人事管理系统MFC,SQL SEVER2000数据库
然而,在实际操作中,"数据库连不起来"的问题可能会困扰开发者。这可能由多种原因造成,如数据库服务未启动、网络连接问题、用户名或密码错误、ODBC数据源配置不正确等。


数据库
