数据库连接出错,高手求救!!
我封装一个ADOConn类:
void ADOConn::OnInitADOConn()
{
try
{
::CoInitialize(NULL);
m_pConnection=NULL;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->ConnectionString="uid=;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=WaterDB.mdb;";
m_pConnection->Open(L"",L"",L"",adCmdUnspecified);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_pRecordset;
}
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
e.Description();
return false;
}
}
void ADOConn::ExitConnect()
{
m_pRecordset->Close();
m_pConnection->Close();
m_pRecordset=NULL;
m_pConnection=NULL;
::CoUninitialize();
}
用查询没问题,但当我用insert into语句时,
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
CString sql,code,name,type,price,num,date;
m_code.GetWindowText(code);
m_name.GetWindowText(name);
m_type.GetWindowText(type);
m_price.GetWindowText(price);
m_num.GetWindowText(num);
m_date.GetWindowText(date);
sql.Format("insert into product values('%s','%s','%s','%s','%s','%s')",code,name,type,price,num,date);
_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet((_bstr_t)sql);
m_AdoConn.ExitConnect();
添加成功了,但还有错误的提示:
This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information.怎么会这样?如何修改?高手请赐教!谢谢!!!