初学C++总遇到runtime error 望各位高人指点,该如何解决
初学C++总遇到runtime error 望各位高人指点
用ADO连接数据库后,连接数据库成功了但在查询时总出现runtime error程序如下:
CoInitialize(NULL);
_ConnectionPtr pconnect(__uuidof(Connection));
_RecordsetPtr record(__uuidof(Recordset));
_CommandPtr comd(__uuidof(Command));
pconnect->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书管理;Data Source=20101017-1136";
pconnect->Open("","","",NULL);
comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect));
CString cmd="select * from 书籍信息表 where 书籍ID='";
cmd+=m_id;
cmd+="'";
comd->CommandText=_bstr_t(cmd);//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
if(!record->end)
{
AfxMessageBox("数据库已有此ID信息,重新输入ID");
return;
}
cmd="INSERT INTO 书籍信息表 VALUES('";
cmd+=m_id;cmd+="','";
cmd+=m_name;cmd+="','";
cmd+=m_writer;cmd+="','";
cmd+=m_press;cmd+="','";
cmd+=m_info;cmd+="','";
cmd+=combo;cmd+="')";
comd->CommandText=_bstr_t(cmd);//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
AfxMessageBox("保存到数据库成功");
pconnect->Close();
comd.Release();
record.Release();
pconnect.Release();
CoUninitialize();
------解决方案--------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
------解决方案--------------------
检查是不是越界的问题
------解决方案--------------------
数组溢出,下标为负数。。。
用ADO连接数据库后,连接数据库成功了但在查询时总出现runtime error程序如下:
CoInitialize(NULL);
_ConnectionPtr pconnect(__uuidof(Connection));
_RecordsetPtr record(__uuidof(Recordset));
_CommandPtr comd(__uuidof(Command));
pconnect->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=图书管理;Data Source=20101017-1136";
pconnect->Open("","","",NULL);
comd->put_ActiveConnection(_variant_t((IDispatch *)pconnect));
CString cmd="select * from 书籍信息表 where 书籍ID='";
cmd+=m_id;
cmd+="'";
comd->CommandText=_bstr_t(cmd);//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
if(!record->end)
{
AfxMessageBox("数据库已有此ID信息,重新输入ID");
return;
}
cmd="INSERT INTO 书籍信息表 VALUES('";
cmd+=m_id;cmd+="','";
cmd+=m_name;cmd+="','";
cmd+=m_writer;cmd+="','";
cmd+=m_press;cmd+="','";
cmd+=m_info;cmd+="','";
cmd+=combo;cmd+="')";
comd->CommandText=_bstr_t(cmd);//得到SQL语句
record=comd->Execute(NULL,NULL,adCmdText);
AfxMessageBox("保存到数据库成功");
pconnect->Close();
comd.Release();
record.Release();
pconnect.Release();
CoUninitialize();
------解决方案--------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
------解决方案--------------------
检查是不是越界的问题
------解决方案--------------------
数组溢出,下标为负数。。。