VC++ 用ADO 连接 SQL2005数据库在做删除按钮的时候 代码如下: try
{
pRs->Delete(adAffectCurrent);
pRs.MoveNext();
if (pRs->adoEOF)
{
pRs->MoveLast();
}
Display(); //显示数据
}
catch(_com_error e) //捕捉异常
{
AfxMessageBox(e.Description());
}点删除按钮就出现那样的错误了!!!pRs->Open(_bstr_t(sql),_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);//pRs的Open方法!!请高手帮忙解决一下~~~~~~
{
pRs->Delete(adAffectCurrent);
pRs.MoveNext();
if (pRs->adoEOF)
{
pRs->MoveLast();
}
Display(); //显示数据
}
catch(_com_error e) //捕捉异常
{
AfxMessageBox(e.Description());
}点删除按钮就出现那样的错误了!!!pRs->Open(_bstr_t(sql),_variant_t(pConn,true),adOpenStatic,adLockOptimistic,adCmdText);//pRs的Open方法!!请高手帮忙解决一下~~~~~~
不要这句试下。
那你直接用SQL语句删除不就行了,哪用得着这样。
delete from table where field ='xxxx'
pRs.MoveNext();可能是只有一行数据 删完已经到adoEOF了 在MoveNext就错了 试试MoveNext之前判断下建议用sql语句删哦
就可以了,其他语句都不需要。
直接用_ConnectionPtr执行SQL删除语句就行了,
CoInitialize(NULL);
_ConnectionPtr m_pConn;
m_pConn.CreateInstance("ADODB.Connection");
m_pConn->CursorLocation = adUseServer;
m_pConn->CommandTimeout = 5;
m_pConn->Open("Driver={SQL Server};DataBase=table;Server=192.168.0.1;uid=;pwd=;","","",adOpenUnspecified);
m_pConn->Execute("delete from table where field='xxx'", NULL, NULL);
m_pConn->Close();