C++ ado 的疑惑

fy612819 2007-10-18 05:17:00
刚学,写了个例子程序,但是select可以,但是insert、update时就会出现异常,请大家看看是怎么回事。
下面贴的是代码,有异常也可以插入到数据库中去。
#define INITGUID
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>
#include <icrsint.h>

class CCustomRs : public CADORecordBinding
{
BEGIN_ADO_BINDING(CCustomRs)
ADO_VARIABLE_LENGTH_ENTRY2(1, adVarChar, m_szau_lname,
sizeof(m_szau_lname), lau_lnameStatus, false)
ADO_VARIABLE_LENGTH_ENTRY2(2, adVarChar, m_szau_fname,
sizeof(m_szau_fname), lau_fnameStatus, false)
ADO_VARIABLE_LENGTH_ENTRY2(3, adVarChar, m_szphone,
sizeof(m_szphone), lphoneStatus, true)
END_ADO_BINDING()public:
CHAR m_szau_lname[41];
ULONG lau_lnameStatus;
CHAR m_szau_fname[41];
ULONG lau_fnameStatus;
CHAR m_szphone[12];
ULONG lphoneStatus;
};
VOID main()
{
IADORecordBinding *picRs = NULL;

::CoInitialize(NULL);

_ConnectionPtr pConn;
pConn.CreateInstance(__uuidof(Connection));

_RecordsetPtr pRs = NULL;
_CommandPtr pCmd = NULL;

CCustomRs rs;
pConn->Open("dsn=hdpu;", "root", "123456", adConnectUnspecified);

pRs.CreateInstance(__uuidof(Recordset));
pCmd.CreateInstance(__uuidof(Command));
pCmd->CommandText = "insert into test values('aaaa','bbbb','cccc');";

pCmd->PutActiveConnection(_variant_t((IDispatch*)pConn));
pRs = pCmd->Execute(NULL,NULL,adCmdText);

pRs->Close();
pConn->Close();

CoUninitialize();
}
...全文
112 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
stanley508 2007-10-18
  • 打赏
  • 举报
回复
try
{
m_pRecordset->CursorLocation = adUseClient;
CString strSQL;
strSQL = "select * from test";
m_pRecordset->Open((_bstr_t)strSQL,m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
m_pRecordset->AddNew();
m_pRecordset->PutCollect("字段名","aaaa");
m_pRecordset->PutCollect("字段名","bbbb");
m_pRecordset->PutCollect("字段名","cccc");
m_pRecordset->Update();
}
catch (_com_error e)
{
AfxMessageBox(e.Description());
return;
}
这样就不会出错了
neversaydie518 2007-10-18
  • 打赏
  • 举报
回复
怎么不说是什么错误
fy612819 2007-10-18
  • 打赏
  • 举报
回复
自己先顶下!

65,206

社区成员

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

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