vc中ADO连接数据库的问题

sj1125055001 2013-05-26 11:03:23
我的程序是这样的。做的图书管理系统,用户登录时访问user表,注册时也访问user表。问题就出在这,我用的相同的sql语句,在其他函数中没问题,但是在这就出问题。搜了好多资料说是sql语句的问题,请各位大侠给指导指导
代码:

CoInitialize(NULL);
UpdateData(true);

HRESULT hr;
_RecordsetPtr pRecord;
_CommandPtr pCommand;


hr=pRecord.CreateInstance(_uuidof(Recordset));
pCommand.CreateInstance(_uuidof(Command));

if(FAILED(hr))
{
AfxMessageBox("Createinstace of Recordset failed!");
}

CString sql;
pCommand->ActiveConnection=m_pConnection;
sql.Format("insert into User(*) values('mt','ls')");
pCommand->CommandText=(_bstr_t)sql;

HRESULT ht;
try
{

ht=pCommand->Execute(NULL,NULL,1);
if(SUCCEEDED(ht))
{
AfxMessageBox("添加成功!");
}
else
{
AfxMessageBox("插入数据失败!");
}
}
catch(_com_error e)
{
AfxMessageBox(e.ErrorMessage());

}
// CDialog::OnOK();


pRecord->Close();
pRecord=NULL;
CoUninitialize();

问题就出在execute方法执行,在try中这句话执行出错,就直接执行catch。


还有在执行close时也出错。

数据库用的是access 这是user表的结构

...全文
53 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sj1125055001 2013-05-26
  • 打赏
  • 举报
回复
我也是用的这个,看了之后发现你的代码和我一样,只不过我是用的udl文件。好像是sql语句有问题,execute执行不了
疯狂的红豆 2013-05-26
  • 打赏
  • 举报
回复
ADO中的很多组件都是都是用智能指针包装了,我之前写了一个类似的使用ADO访问SQLserver 2008的代码,希望对你有帮助:http://blog.csdn.net/zlhy_/article/details/8820979

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧