004
int C*YourProject*App::ExitInstance()
{
// TODO: Add your specialized code here and/or call the base class
//----------------------------------------------------------
if(m_pConnection->State)
m_pConnection->Close(); ///如果已经打开了连接就关闭它
//----------------------------------------------------------
return CWinApp::ExitInstance();
}
006
//删除记录------------------------------------------------------------
_RecordsetPtr m_pRecordset;
try
{
//删除user表的2字段记录
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(_variant_t("select * FROM [user] where yhm='"+userName+"'"),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Close();
//---------------------------------------------------
//查询符合删除条件的记录数目
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(_variant_t("select count(*) FROM [qxb] where yhm='"+userName+"'"),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
_variant_t vCount=m_pRecordset->GetCollect((long)0);
m_pRecordset->Close();
long lRecordCount=vCount.lVal;
//删除qxb表的2字段记录
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(_variant_t("select * FROM [qxb] where yhm='"+userName+"'"),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
{
m_pRecordset->Delete(adAffectCurrent);
if(lRecordCount-->0)
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
//-----------------------------------------------------------------
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
//------------------------------------------------------------
//------------------------------------------------------------
}
007
//更新数据库记录
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open(_variant_t("SELECT * FROM [xsb] where xm='"+m_list.GetItemText(m_nIndex, 1)+"'"),_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
try
{
if(!m_pRecordset->adoEOF)
{
int i=0;
m_pRecordset->PutCollect("xh",_variant_t(xsbRecord[i++]));
m_pRecordset->PutCollect("xm",_variant_t(xsbRecord[i++]));
m_pRecordset->PutCollect("xb",_variant_t(xsbRecord[i++]));