社区
数据库
帖子详情
ADO中,用PutCollect()方法更新数据,怎么老是报错?
火鸟33
2004-04-21 02:28:05
ADO中,用PutCollect()方法更新数据,怎么老是报错?
...全文
826
8
打赏
收藏
ADO中,用PutCollect()方法更新数据,怎么老是报错?
ADO中,用PutCollect()方法更新数据,怎么老是报错?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火鸟33
2004-06-14
打赏
举报
回复
早解决廖,忘了结贴
Pipi0714
2004-04-30
打赏
举报
回复
贴出你的代码以及字段类型
wyh2002
2004-04-30
打赏
举报
回复
先检查数据类型
jnlon
2004-04-30
打赏
举报
回复
应该是类型搞错了。
zhaohuiguang
2004-04-30
打赏
举报
回复
把代码贴一下吧
PiggyXP
2004-04-30
打赏
举报
回复
楼主把代码贴出来看看吧
如果你确定不是数据类型或者长度之类不匹配的话
hahu
2004-04-21
打赏
举报
回复
看看VARIANT的数据类型对不对
ACuke
2004-04-21
打赏
举报
回复
记录集的遍历、更新
根据我们刚才通过执行SQL命令建立好的users表,它包含四个字段:ID,username,old,birthday
以下的代码实现:
打开记录集,遍历所有记录,删除第一条记录,添加三条记录,移动光标到第二条记录,更改其年龄,保存到数据库。
_variant_t vUsername,vBirthday,vID,vOld;
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->
Open("SELECT * FROM users",_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
while(!m_pRecordset->adoEOF)
///这里为什么是adoEOF而不是EOF呢?还记得rename("EOF","adoEOF")这一句吗?
{ vID = m_pRecordset->GetCollect(_variant_t((long)0)
);///取得第1列的值,从0开始计数,你也可以直接给出列的名称,如下一行
vUsername = m_pRecordset->GetCollect("username");
///取得username字段的值
vOld = m_pRecordset->GetCollect("old");
vBirthday = m_pRecordset->GetCollect("birthday");
///在DEBUG方式下的OUTPUT窗口输出记录集中的记录
if(vID.vt != VT_NULL && vUsername.vt != VT_NULL && vOld.vt != VT_NULL && vBirthday.vt != VT_NULL)
TRACE("id:%d,姓名:%s,年龄:%d,生日:%s\r\n",vID.lVal,(LPCTSTR)(_bstr_t)vUsername,vOld.lVal,(LPCTSTR)(_bstr_t)vBirthday) ;
m_pRecordset->MoveNext();
///移到下一条记录 }
m_pRecordset->MoveFirst();
///移到首条记录 m_pRecordset->Delete(adAffectCurrent);
///删除当前记录 ///添加三条新记录并赋值
for(int i=0;i<3;i++)
{
m_pRecordset->AddNew();///添加新记录
m_pRecordset->PutCollect("ID",_variant_t((long)(i+10)));
m_pRecordset->PutCollect("username",_variant_t("叶利钦"));
m_pRecordset->PutCollect("old",_variant_t((long)71));
m_pRecordset->PutCollect("birthday",_variant_t("1930-3-15"));
}
m_pRecordset->Move(1,_variant_t((long)adBookmarkFirst));
///从第一条记录往下移动一条记录,即移动到第二条记录处
m_pRecordset->PutCollect(_variant_t("old"),_variant_t((long)45));
///修改其年龄
m_pRecordset->Update();
///保存到库中
具体详看Vckbase王俊的文章
ADO
数据
连接总结
ADO
数据
连接总结~本人写给新人的总结经验,分数不多,希望对你们有所帮助。
VC 使用
ADO
插入、删除、修改Access内容.rar
VC 使用
ADO
操作Access
数据
库,实现插入、删除、修改Access内容,挺简单的基础级
数据
库入门实例,学习VC 连接Access
数据
库,以及一些
ADO
方面的基础知识。
ADO
方法
基本技术试验.doc
ADO
访问
数据
库有2种
方法
,一是直接使用SQL语句,二是使用
ADO
库函数,我们的示例采用
ADO
库函数。
Access_VC++6.0_
中
用_
ADO
_存取_Access_
数据
库的一点总结.txt )
Access_VC++6.0_
中
用_
ADO
_存取_Access_
数据
库的一点总结.txt )
ADO
读写blob字段
VC++通过
ADO
向
数据
库Oracle插入图片等2进制
数据
,从
数据
库读取图片等
数据
数据库
4,018
社区成员
39,807
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章