ADO+MFC数据库编程时,修改记录和插入记录的代码各条语句的意思

插入记录:m_pRecordset->Open("SELECT*FROM[user1]",//这个Open函数的第二个参数为什么和其他例子中的不同??_variant_t... 插入记录:
m_pRecordset->Open("SELECT * FROM [user1]", // 这个Open函数的第二个参数为什么和其他例子中的不同??
_variant_t((IDispatch *)m_pConnection,true),
adOpenDynamic,
adLockOptimistic,
adCmdText);
m_pRecordset->AddNew(); //为什么要这一句呢?是提示程序要添加新的记录了吗?
m_pRecordset->PutCollect("name", _variant_t(m_Name)); // 这里的PutCollect函数的作用是什么?
m_pRecordset->PutCollect("age", atol(m_Age));
m_pRecordset->Update();
m_pRecordset->Close();

删除记录:
m_pRecordset->Open("SELECT * FROM [user1]",
_variant_t((IDispatch *)m_pConnection,true),
adOpenDynamic,
adLockOptimistic,
adCmdText);
m_pRecordset->MoveFirst(); // 这一句和下面的Move有什么作用??
m_pRecordset->Move(cursel);
m_pRecordset->PutCollect("name", _variant_t(m_Name));
m_pRecordset->PutCollect("age", atol(m_Age)); //为什么这里的强制转换是用atol,而不是用上面的_variant_t ???
m_pRecordset->Update();
m_pRecordset->Close();
展开
 我来答
来自月岩仪态万千的比目鱼
2014-06-30 · TA获得超过1571个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:970万
展开全部
1. // 这个Open函数的第二个参数为什么和
答:你这里不都是一样的吗?

2.m_pRecordset->AddNew(); //为什么要这一句呢?是提示程序要添加新的记录了吗?
答:不是提示,这个是让表添加一个新行。

3.m_pRecordset->PutCollect("name", _variant_t(m_Name)); // 这里的PutCollect函数的作用是什么?
答:put 放入的意思。这里是把m_Name值放入表中的name字段中。

4.m_pRecordset->MoveFirst(); // 这一句和下面的Move有什么作用??
答:m_pRecordset表示记录集。MoveFirst移动指针到记录集中的第一行。
Move(cursel);移动到cursel)行。

5.m_pRecordset->PutCollect("age", atol(m_Age)); //为什么这里的强制转换是用atol,而不是用上面的_variant_t ???
答:因为在表中声明的age是long类型。放入数据时类型要一致。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式