try{
_RecordsetPtr m_pRs; CString bstrShopingCartSQL="select * from ShoppingCart";
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs->CursorLocation = adUseClient;
m_pRs->Open((LPCTSTR)bstrShopingCartSQL, (LPCTSTR)m_strConnection,adOpenDynamic,adLockOptimistic, adCmdText); CString CstrCookie;
CstrCookie.Format("user_name='%s' and shop_='0'",strCookie);
m_pRs->Filter=_variant_t(CstrCookie); long Ishop=1;
for(int i=1;((i<=m_pRs->RecordCount)&&(!m_pRs->EndOfFile));i++)
{
m_pRs->PutCollect("shop_", _variant_t(Ishop));
m_pRs->Update(); m_pRs->MoveNext();
}
m_pRs->Close();
m_pRs.Release();
}
//代码如上,原意是要更改数据库中user_name='%s' and shop_='0'的所有数据,但是现在只能更新一部分,并不能全部更新,很是奇怪,不知道为什么,请高手指点..@@!
_RecordsetPtr m_pRs; CString bstrShopingCartSQL="select * from ShoppingCart";
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs->CursorLocation = adUseClient;
m_pRs->Open((LPCTSTR)bstrShopingCartSQL, (LPCTSTR)m_strConnection,adOpenDynamic,adLockOptimistic, adCmdText); CString CstrCookie;
CstrCookie.Format("user_name='%s' and shop_='0'",strCookie);
m_pRs->Filter=_variant_t(CstrCookie); long Ishop=1;
for(int i=1;((i<=m_pRs->RecordCount)&&(!m_pRs->EndOfFile));i++)
{
m_pRs->PutCollect("shop_", _variant_t(Ishop));
m_pRs->Update(); m_pRs->MoveNext();
}
m_pRs->Close();
m_pRs.Release();
}
//代码如上,原意是要更改数据库中user_name='%s' and shop_='0'的所有数据,但是现在只能更新一部分,并不能全部更新,很是奇怪,不知道为什么,请高手指点..@@!
解决方案 »
- Debug 和 Release 的困惑
- mfc中,ado实现数据库编程
- 虚心求教:也许是一个关于编译器设置的问题
- 大家来看一段简单的程序
- 有学过近世代数的吗?告诉我应该怎么学比较好?
- 想用MFC学做SOCKET程序,谁帮忙介绍一本好书?
- sockServer.Receive(&dataLength, 4),如何让socket接收数据后,继续运行以下程序?
- directshow的问题,memfile大讨论 (网络视频播放)
- 在ListView中,如何象Windows资源管理器那样将剪贴了的文件图标变虚?
- 我赏100大洋来解决问题。
- vc++7以后都是架构在.net平台上了,vc++还能比过delphi方便快捷么
- 有关CButtonST的一个问题
"update ShoppingCart set shop_='1' where user_name='%s'"
bstrShopingCartSQL.Format(bstrShopingCartSQL+"user_name='%s' and shop_='0'",strCookie");
...
直接这样不行吗?找一下没更新的那部分的规律,再分析可能是由什么原因导致的。不行的话直接用1楼的方法,简单实用
CString str;
str.Format(_T("update ShoppingCart set shop_='1' where user_name=\'%s\'"),strCookie);
update ShoppingCart set shop_='1' where user_name='%条件'
_RecordsetPtr m_pRs; CString bstrUpdateCSSQL;
bstrUpdateCSSQL.Format("update ShoppingCart set shop_='1' where user_name='%s' and shop_='0'",strCookie);
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs->CursorLocation = adUseClient;
m_pRs->Open((LPCTSTR)bstrUpdateCSSQL, (LPCTSTR)m_strConnection,adOpenDynamic,adLockOptimistic, adCmdText); m_pRs->Close();
m_pRs.Release();
} catch (_com_error e)
{
_bstr_t m_bstrLastError; m_bstrLastError = e.Description(); *pCtxt << _T("<p>err:")<<m_bstrLastError;
}
~~~~~~~~~能更新所有的记录,但是却catch出err:对象关闭时,不允许操作。