CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  Visual C++ 资源

如何在VC++的ADO环境中修改数据库记录的值?

楼主LeeTong311()2004-11-02 15:56:29 在 VC/MFC / Visual C++ 资源 提问

我在用VC++和ADO开发数据库应用程序。我使用了MSDN的经典例子修改数据库记录的值。以下便是代码的出错部分:  
   
  UpdateData(TRUE);  
  _RecordsetPtr   m_pRecordset   =   NULL;  
  CString   sql_;  
  sql_.Format("SELECT   *   FROM   AwardItem   WHERE   AwardNum='%s'",   m_AwardNum.Trim());  
  _bstr_t   sql   =   sql_;  
  m_pRecordset.CreateInstance(_uuidof(Recordset));  
  m_pRecordset->Open(sql,theApp.ADOConn.GetInterfacePtr(),  
  adOpenKeyset,adLockOptimistic,adCmdText);/*定位要修改的记录*/  
  m_pRecordset->Fields->GetItem("AwardNum")->Value   =   (_bstr_t)m_AwardNum;  
  m_pRecordset->Fields->GetItem("Title")->Value   =   (_bstr_t)m_Title;  
  m_pRecordset->Fields->GetItem("Points")->Value   =   m_Points;  
  m_pRecordset->Update();  
   
  其中m_AwardNum(CString),m_Title(CString),m_Points(int)为编辑控件的绑定变量。变量m_Title的初始值是“巡逻”。现在我将其在对话框中的值删除,再键入“夜巡逻”,上述代码将成功修改记录的值。但如果我在原值“巡逻”前加上“夜”字,语句m_pRecordset->Fields->GetItem("Title")->Value   =   (_bstr_t)m_Title将出错。程序将在系统的PutValue()处中断。  
   
  请高手指教! 问题点数:0、回复次数:1Top

1 楼msvbvm60(HOOK)回复于 2004-11-02 17:08:22 得分 0

其实修改数据可以用SQL语句的,办法是用COmmmandPtr或者COnnectionPtr指针来操作  
   
   
  sql_str.Format("Update   [词条类别]   set   是否启用='0'   ,   按键='%d'   where   类别='%s'",m_key,m_str);  
   
  //执行SQL语句更新数据  
  _CommandPtr   pCommand;  
  pCommand.CreateInstance(__uuidof(Command));  
  pCommand->ActiveConnection=((CTestBoxApp   *)AfxGetApp())->m_pConnection;  
  pCommand->CommandText=(_bstr_t)sql_str;  
  pCommand->CommandType=adCmdText;  
  pCommand->Parameters->Refresh();  
  pCommand->Execute(NULL,NULL,adCmdUnknown);  
  pCommand.Release();  
   
   
  如果是用ADO的记录集操作,则需要使用   pSet->PutCollect()函数  
   
  Top

相关问题

  • ADO访问数据库(vc)
  • vc++ 用ado连数据库??
  • 请教:VC下ADO读取数据库中各字段的值
  • VC ADO 访问数据库问题
  • VC中用ADO访问Oracle数据库
  • vc访问sql数据库ado
  • vc&数据库
  • 数据库ado
  • VC与数据库--
  • vc与数据库?

关键词

  • vc++
  • 修改
  • 语句
  • sql
  • null
  • awardnum
  • pcommand
  • precordset
  • 值
  • 记录

得分解答快速导航

  • 帖主:LeeTong311

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo