ADO _RecordsetPtr Update() 后 requery() [问题点数:50分]

Bbs2
本版专家分:334
结帖率 97.22%
Bbs9
本版专家分:86613
Blank
状元 2017年 总版技术专家分年内排行榜第一
Blank
榜眼 2014年 总版技术专家分年内排行榜第二
Blank
探花 2013年 总版技术专家分年内排行榜第三
Blank
进士 2018年总版新获得的技术专家分排名前十
2012年 总版技术专家分年内排行榜第七
Bbs12
本版专家分:433391
版主
Blank
榜眼 2009年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第二
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
银牌 2009年7月 总版技术专家分月排行榜第二
2009年3月 总版技术专家分月排行榜第二
2009年1月 总版技术专家分月排行榜第二
2005年7月 总版技术专家分月排行榜第二
2005年5月 总版技术专家分月排行榜第二
2005年3月 总版技术专家分月排行榜第二
Blank
优秀版主 优秀小版主
2015年8月优秀小版主
2015年9月优秀小版主
2015年5月优秀小版主
2015年2月论坛优秀版主
Bbs9
本版专家分:55633
Blank
红花 2015年8月 硬件/嵌入开发大版内专家分月排行榜第一
2015年7月 VC/MFC大版内专家分月排行榜第一
2015年5月 VC/MFC大版内专家分月排行榜第一
2015年4月 VC/MFC大版内专家分月排行榜第一
2015年3月 VC/MFC大版内专家分月排行榜第一
2015年1月 硬件/嵌入开发大版内专家分月排行榜第一
2013年12月 VC/MFC大版内专家分月排行榜第一
2013年11月 VC/MFC大版内专家分月排行榜第一
2013年6月 VB大版内专家分月排行榜第一
2013年5月 VB大版内专家分月排行榜第一
2013年1月 VB大版内专家分月排行榜第一
2012年12月 VB大版内专家分月排行榜第一
Blank
黄花 2015年9月 VC/MFC大版内专家分月排行榜第二
2015年7月 硬件/嵌入开发大版内专家分月排行榜第二
2014年5月 VC/MFC大版内专家分月排行榜第二
2014年3月 VC/MFC大版内专家分月排行榜第二
2013年10月 VB大版内专家分月排行榜第二
2013年7月 VB大版内专家分月排行榜第二
2012年5月 VB大版内专家分月排行榜第二
2012年4月 VB大版内专家分月排行榜第二
2012年2月 VB大版内专家分月排行榜第二
2011年11月 VB大版内专家分月排行榜第二
Blank
蓝花 2015年11月 VC/MFC大版内专家分月排行榜第三
2015年6月 VC/MFC大版内专家分月排行榜第三
2015年2月 VC/MFC大版内专家分月排行榜第三
2014年1月 VC/MFC大版内专家分月排行榜第三
2012年3月 VB大版内专家分月排行榜第三
2011年12月 VB大版内专家分月排行榜第三
2011年10月 VB大版内专家分月排行榜第三
Bbs2
本版专家分:334
Bbs2
本版专家分:334
Bbs9
本版专家分:55633
Blank
红花 2015年8月 硬件/嵌入开发大版内专家分月排行榜第一
2015年7月 VC/MFC大版内专家分月排行榜第一
2015年5月 VC/MFC大版内专家分月排行榜第一
2015年4月 VC/MFC大版内专家分月排行榜第一
2015年3月 VC/MFC大版内专家分月排行榜第一
2015年1月 硬件/嵌入开发大版内专家分月排行榜第一
2013年12月 VC/MFC大版内专家分月排行榜第一
2013年11月 VC/MFC大版内专家分月排行榜第一
2013年6月 VB大版内专家分月排行榜第一
2013年5月 VB大版内专家分月排行榜第一
2013年1月 VB大版内专家分月排行榜第一
2012年12月 VB大版内专家分月排行榜第一
Blank
黄花 2015年9月 VC/MFC大版内专家分月排行榜第二
2015年7月 硬件/嵌入开发大版内专家分月排行榜第二
2014年5月 VC/MFC大版内专家分月排行榜第二
2014年3月 VC/MFC大版内专家分月排行榜第二
2013年10月 VB大版内专家分月排行榜第二
2013年7月 VB大版内专家分月排行榜第二
2012年5月 VB大版内专家分月排行榜第二
2012年4月 VB大版内专家分月排行榜第二
2012年2月 VB大版内专家分月排行榜第二
2011年11月 VB大版内专家分月排行榜第二
Blank
蓝花 2015年11月 VC/MFC大版内专家分月排行榜第三
2015年6月 VC/MFC大版内专家分月排行榜第三
2015年2月 VC/MFC大版内专家分月排行榜第三
2014年1月 VC/MFC大版内专家分月排行榜第三
2012年3月 VB大版内专家分月排行榜第三
2011年12月 VB大版内专家分月排行榜第三
2011年10月 VB大版内专家分月排行榜第三
Bbs2
本版专家分:334
Bbs2
本版专家分:334
ADO访问数据库获取 Recordset 对象中的记录数
CString strSQL = "SELECT * FROM authors";           _RecordsetPtr pRs = NULL;      pRs.CreateInstance("ADODB.Recordset");     long nRecordCount = 0;     try      {          pRs->Open( _vari
[ADO学习笔记] Recordset 对象中的updateBatch函数的使用方法
1.设置 pRecord->CursorLocation = adUseClient; 2.open方法中设置lockType 为adLockBatchOptimistic 3.例子说明:_RecordsetPtr pRecord; pRecord.CreateInstance("ADODB.Recordset"); pRecord->CursorLocation...
ADO接口中_RecordsetPtr的使用说明
RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。 要搞清楚:数据库和ADO的记录集是两个不同的概念,是存在于不同物理位置的两个存储空间。                    记录集相当于是实际数据的一份拷贝。 正因为记录集是相对脱离数据库而存在的, 所以才存在后面将要介绍的Open方法中涉及的光标类型和锁定
解决ADO控件遍历数据集超慢的问题
从ADOQuery查询回数据后,大约100000条记录,测试了一下,使用NEXT(), 遍历一次需要60秒,经测试,游标与锁定方式对遍历时间影响不大。经过一番查询,最后发现是界面感知的问题。 通过禁用界面感知    ADOQuery1->DisableControls(); 速度变成600ms,属于正常范围
C++操作数据库之PutCollect
在使用PutCollect时 m_pRecordset->PutCollect("anode",_variant_t(""));
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。
在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。 作者:邵盛松 2009-09-05 前言1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇《AppendChunk and GetChunk Methods Example (VC++)》,原文地址是http://msdn.microsoft.com/en-us/libra
ADO中使用addnew
1.AddNew之后必须Update 2.Update后要值向下个位置 具体说,把你的循环代码改成如下: m_pRecset->MoveLast(); m_pRecset->AddNew(); m_pRecset->PutCollect("Pihao",(long)(vCount.lVal + 1)); m_pRecset->PutCollect("RoadNum",vroadNum);
ADO读写DateTime方式
// 读取日期 var = m_pResultSet->GetCollect(_variant_t("Birth_Time"));       DATE            dt      = var.date; COleDateTime    da      = COleDateTime(dt); CString         strData
如何将RecordSet对象中的数据全部清除
    Dim objRS As ADODB.Recordset    Dim i As Integer    Set objRS = New ADODB.Recordset        添加一笔记录    objRS.Fields.Append "col", adVarChar, 10    打开记录集    objRS.Open        增加两笔数据    ob
ado 内存 增长 解决方案
可能<em>ado</em>使用类似于vector的内存方案,所以如果想减少内存, 需要中途先关闭记录集:(_RecordsetPtr(m_precord))->Close 再重新打开:(_RecordsetPtr(m_precord))->Open 仅供参考
ADO实现单条记录的刷新
如何有效刷新当前记录ADO的Recordset对象有一个Resync方法, 可以刷新不同范围的数据. 如果想刷新当前记录可以用如下的语句:var    Rst: _Recordset;begin    ...    Rst.Resync(adAffectCurrent, adResyncAllValues);    ...end;可惜delphi的TADODataSet没有封装这个功能. 如果要在...
ADO判断数据库中字段值为NULL
_variant_t vValue = rsPtr->GetCollect("calorie"); if(vValue.vt !=VT_NULL){}
ADO判断Recordset是否包含记录
在通过ADO读写数据库的过程中遇到要判断查询的结果是否为空的问题,通过RecordCount属性判断的时候,不论查询结果是否为空,其返回值均为-1,用GetRecordCount(),返回的还是-1。参考网上的说法,将游标设置为adOpenStatic或者adOpenKeyset,返回值还是-1,不知原因为何。最后利用BOF和EOF属性进行判断,达到了目的。关于RecordCount属性的问题,还
获取 Recordset 对象中的记录数
在 ADO 中,用 Recordset  对象的 Open 方法打开记录集后,就可以用 GetRecordCount 方法获取记录数。代码如下:    CString strSQL = "SELECT * FROM authors";         _RecordsetPtr pRs = NULL;     pRs.CreateInstance("ADODB.Recordset");
_CommandPtr未声明的标识符解决办法
在导入#import "C:\ProgramFiles\Common Files\System\<em>ado</em>\ms<em>ado</em>15.dll" no_namespace rename("EOF","<em>ado</em>EOF")确定没有写错的情况下,也写了::CoInitialize(NULL);对组件的初始化,但一直提示“_CommandPtr”: 未声明的标识符,这个原因应该是ADO控件没有注册成功的问题,到C:\P
Ado下事务的操作方法
BeginTrans、CommitTrans 和 RollbackTrans 方法      这些事务方法按如下方式管理 Connection 对象中的事务进程: BeginTrans - 开始新事务。 CommitTrans - 保存任何更改并结束当前事务。它也可能启动新事务。 R
ADO Recordset 判断记录是否为空
_RecordsetPtr getuser; getuser.CreateInstance("ADODB.Recordset"); getuser->Open(user.GetBuffer(), //查询语句 _variant_t((IDispatch*)m_db), //数据库 adOpenDynamic, adLockOptimistic, adCmdText); if
解决Delphi ADO无法为更新定位行
解决Delphi ADO无法为更新定位行。一些值可能已在最后一次读取后已更改的问题 解法一: Delphi中很多朋友使用ADOQuery更新数据时会出现,无法为更新定位行。一些值可能已在最后一次读取后已更改的错误信息。 以前的时候也碰到类似的问题,一般就是去看数据表,发现没有设置主键或者表里的字段有的没有默认值什么的。说来也怪,设置上主键或者默认值都基本搞 定。也就没有仔细研
vc++的ado技术访问数据库
vc++的<em>ado</em>技术访问数据库 _ConnectionPtr _RecordsetPtr
ADO编程——获取表的所有字段(C++)
我们有时候需要通过程序获取表的所有字段,那么用ADO提供的接口获取还是很方便的。 vs2005创建控制台程序,语言为C++。 核心代码如下: struct TableField { TableField() : strFieldName(_T("")) , nFieldType(0) , nFieldLength(0)
_RecordsetPtr Requery 特别慢
使用Requery (-1)时,特别慢,400条数据居然花了将近10秒钟。rnrn生成RecordsetPtr时的设置rnif (SUCCEEDED(m_record.CreateInstance(__uuidof(Recordset))))rn rn m_record->CursorLocation = adUseClient;rn m_pDBList->GetRecordSet(std::get(m_dbConfig),rn m_record,rn CursorTypeEnum::adOpenForwardOnly);rnrnrnGetRecordSet:rnbool CDBList::GetRecordSet(CString bstrSqlCmd,rn _RecordsetPtr &RecordSet,rn CursorTypeEnum RecordSetType)rnrn long l_statu = m_pConnection->GetState();rnrn if (l_statu != adStateOpen)rn rn return false;rn rn if (bstrSqlCmd.GetLength() < 10)rn rn return false;rn rnrn bool isOK = false;rn int count = 0;rn bool isReconn = false;rn clock_t start = clock();rn while (!isOK)rn rn tryrn rn //打开记录集rn if (FAILED(RecordSet->Open(_bstr_t(bstrSqlCmd),rn m_pConnection.GetInterfacePtr(),rn RecordSetType, adLockOptimistic, adCmdText)))rn rn m_strMsg = _T("查询失败");rn return false;rn rn isOK = true;rn m_strMsg = _T("查询成功");rn rn catch (_com_error e)rn rn rn m_strMsg.Format(_T("获取记录集出现异常,异常信息:%s,异常描述:%s"),rn e.ErrorMessage(), e.Description().GetBSTR());rn //CLog::Write(Error + bstrSqlCmd);rnrn //CVecMsg::AddMsg(tagMsg(Error, eMsgType::MSG_ERROR));rnrn clock_t end = clock();rn double times = (double)(end - start) / CLOCKS_PER_SEC;rn if (isReconn)rn rn m_strMsg = _T("重新连接成功,依然执行失败,放弃执行");rn return false;rn rnrn if (++count >= 3 && times > 6)rn rn m_strMsg = _T("重新执行操作3次,且时间超过6S,重新连接");rnrn count = 0;rn isReconn = ReConn();rn start = clock();rn rn Sleep(200);rnrn isOK = false;rn rn rn return true;rn
未定义标识符_ConnectionPtr
我的编译环境 vs2010  上图片你就懂了,说多了 也没用!
ADO中记录集recordSet的使用
_variant_t vUsername,vID,vname; //变量声明 _RecordsetPtr m_pRecordset;     //记录集 CString strid; _ConnectionPtr connection; m_pRecordset.CreateInstance(__uuidof( Recordset )); //创建实例 m_pRecordset->Ope
requery.js(摘自 阮一峰日志第三部分)
原地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。我采用的是一个非常流行的库require.js。一、为什么要用require.js?最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码...
MFC ADO数据库操作
内容比较乱,作为草稿,对现有的<em>ado</em>数据库操作函数方法进行汇总。 小函数 m_pRecordset->RecordCount//取得记录数量 全局变量 #import "ms<em>ado</em>15.dll" no_namespace rename("EOF","<em>ado</em>EOF")rename("BOF","<em>ado</em>BOF") _ConnectionPtr m_pConnection; _Record
ADO中正常使用GetRecordCount解决方法
有时候使用GetRecordCount函数,总是返回-1,这是跟客户端游标有关,如果<em>ado</em>组件在客户端使用的前向只读游标,就无法返回结果集的条数,只能返回-1,改成静态游标或键集游标就行了。  修改方法:_ConnectionPtr   m_pConnection;     hr=m_pConnection.CreateInstance(__uuidof(Connection)   );  
adoquery 刷新后,数据还在当前行
当 <em>ado</em>query 刷新后,数据还在当前行 当 <em>ado</em>query 刷新后,数据还在当前行 解决方法,还是用重新打开的方法,但是在这个操作之前先保存当前的位置,以便重新打开之后进行定位。用如下的方法之一:  //用书签  var      SavePlace:   TBookmark;  begin      SavePlace   :=   ADOQuery1.GetBookmark;  ...
ADO:更新数据库操作
更新操作使用三大智能指针都可以完成!1、使用记录集对象更新:/* 功能:使用记录集对象更新字段值。 步骤:1、查询得到需要修改的记录 2、使用PutCollect对记录相应字段进行修改 3、调用Update()方法保存修改到数据库中 */ void CRentMgrDlg::ModDVDNum(CString strDVDID,int nNum) { HRESUL...
关于ADO GetCollect读取数据的纠结
_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)
ADO调用存储过程实例讲解
1:直接有返回值的存储过程: public string GetProjectCode() { string strProc = "CreateProjectNumber"; //这个@ProjectNumber输出参数的设置,必须数据类型与长度与存储过程完全一致 SqlParameter sp = new Sq
ADO对象之Recordset用法总结
在ADO程序中,记录集(Recordset)对象代表一个表的记录集合或者是一个SQL命令或存储过程执行结果。简单地说:记录集实际上缓存了从数据库获得的记录,应用程序可以从记录集中获得每条记录的字段。 Recordset对象的常用属性和方法: RecordCount属性:返回Recordset对象中记录的当前数目 BOF,EOF属性:BOF指示当前记录位置的第一记录的前一个,EOF
使用_RecordsetPtr读表数据时切记要加上Try..catch捕捉错误
HRESULT  hr2=m_pRecorset.CreateInstance(__uuidof( Recordset ));    if (SUCCEEDED(hr2))    {     AfxMessageBox("connect successfully!");     try     {      m_pRecorset->Open("SELECT * from user.
vc写数据库,Ado的_RecordsetPtr的requery函数的参数
参数是什么?手头没有msdn帮助,thanks
requery 与普通js 格式区别
普通模式: <em>requery</em>格式:
ADO连接数据库问题,总出现“无效指针”错误
原因: 是由于XP运行的ADO是比较低的版本,而WIN7上发布的ADO是高版本,这样在WIN7上编译的程序,就导入 了高版本的判断,导致在XP上使用ADO就抛出异常,并退出程序的运行。 解决:  把XP电脑上的ADO的DLL拷贝 到WIN7的电脑,然后修改代码从XP的DLL导入,然后再重新编译就可以解决了。
delphi实现ado的高级功能
ADO是Microsoft存取通用源的标准引擎。ADO通过封装OLE DB而能够存取不同类型的数据,让应用程序能很方便地通过统一的处理各种。ADO由一组COM对象组成,每一个不同的原生ADO对象负责不同的工作。下面,向大家介绍如何使用原生ADO对象的属性来实现ADO的高级功能。  ADO原生对象关系图:  Connection  Errors→Error  Command→Parameters→P...
ado _RecordsetPtr
请问:用_RecordsetPtr更新数据,字段的类型不一,rn有几种方法可以做到,怎么做,哪种比较好
UpdateBatch与事务处理的一点总结
对于某些设置或者提交,如果希望是全部修改完毕后才确定生效,可以将DataSet的LockType:=ltBatchOptimistic,这样就可以了。然后每次做的修改和改动都暂时保存在缓存中,必须通过UpdateBatch来提交入库。可以通过判断DataSet的UpdateStatus属性是否为usUnmodified就可以知道先前是否已经提交了改动了。注意:对于用户已经Edit,但是未提交的修改
ACCESS数据库的演示程序
ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。 本例使用了ConnectionPtr、RecordsetPtr。 分别用于打开连接和操作。
记录集查找功能函数 m_strFilter的用法以及open requery IsEOF
比如有:CUserSet 的对象,m_UserSet->m_strFilter="name='     "+张三+   "  '       "    ; //文本的双引号不能省,双引号标志:查询的是文本,省去否则虽然不报错,但是查不出来东西, //单引号也不能省,要不程序运行中出现错误 先open,然后筛选,再<em>requery</em>刷新记录集
ADO控件简介
ADO控件简介 一、 TADOConnection组件 该组件用于建立数据库的连接.ADO的数据源组件和命令组件可以通过该组件运行命令及数据库中提取数据等. 该组件用于建立数据库的连接,该连接可被多个数据集所共享,但是并不是应用程序中必须的, 因为ADO数据集及命令组件通过设置其 ConnectionString属性,可以直接连接到数据库. 但是如果多个数据集使用相同的数据库连接时,则使
好用的 C++ 数据库操作 Ado封装类库
//////////////////////////////////////////////////////// //libSqlAdo.h //////////////////////////////////////////////////////// #pragma once #import &quot;C:\\Program Files\\Common Files\\system\\<em>ado</em>\\m...
VC++ 通过ADO连接数据库查询时返回空值报错的解决方案
当数据库的字段值允许为空时, 而且此时内容也为空时,则执行查询会出错,例如 CString str = pRecordset->GetFields()->GetItem((long)0)->GetValue(); 或者 str= pRecordset->GetCollect("posInfo");    会弹出如下窗口提示出错!       更加奇怪的是  catch(.
使用ADO实现vc中二进制文件数据的存取
使用ADO实现vc中二进制文件数据的存取
ADOC类文件包含ADOConn.h和ADOConn.cpp
ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口、_CommandPtr接口和_RecordsetPtr接口。 文件为ADO类文件包含ADOConn.h和ADOConn.cpp
ADO 里面如何获得 SQL sum 函数返回的值
Question: ADO 里面怎么获得 SQL sum 函数返回的值 #define   QUERY   _T( "SELECT   count(*)   from   test   WHERE   MACHINENAME   =    'TEST ' ") g_Rst-> Open(_variant_t(QUERY),g_Conn.GetInterfacePtr(),   adO
使用 m_pRecordset->GetRecordCount();获取记录数不准确的问题总结
在写一个新功能的时候,access数据库,
关于 ADO 内存泄露 内存增长 的一些个人观点及解决方案
[本文最初发表于:http://blog.csdn.net/wwwwws/article/details/7417349,转载请保留出处及本声明]         当我们开发一个ADO客户端程序时,经常会发现程序运行以后,其拥有(占用)的虚拟内存大小不断增加,在一般情况下我们并不希望这样的事情发生,因此我们需要进行一些额外的配置。        首先,先来分析一下内存增长的原因。内存增长的可能
VC++连接ADO数据库细
(1)、引入ADO类 (2)、初始化COM (3)#import 包含后就可以用3个智能指针了:_ConnectionPtr、_RecordsetPtr和_CommandPtr (2)、关闭 (3)、设置连接时间 //设置连接时间-----------------------------------
VB6.0用recordset对数据库进行的更新操作
Dim num As IntegerDim sql As StringDim cn As ADODB.ConnectionDim rs As ADODB.RecordsetDim com As ADODB.CommandSet cn = New ADODB.Connectioncn.CursorLocation = adUseClientnum = Val(Text1.Text)sql = "up
VC++ ADO操作总结
1、导入库文件 #import "C:\Program Files\commonfiles\system\<em>ado</em>\ms<em>ado</em>15.dll" no_namespace rename("EOF","EndOfFile")rename("BOF","FirstOfFile")使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。代码如下:
ADO执行update 报错“操作已被用户取消”
今天用Delphi 7 做一个更新DB2程序,由于记录条数大概有70多万条,结果在执行ADOQuery.ExecSQl时总是报错“操作已被用户取消”,折腾半天也没搞清楚原因,最后发现一个CommondTimeOut 属性,于是考虑报错原因可能是由于超时。于是将ADOQuery1.CommondTimeOut := 0 ; 因为 0 一般是无限大的意思嘛。结果执行成功。
ADO.NET大批量更新数据
ADO.NET大批量进行数据更新  重要的参考资料 http://bbs.csdn.net/topics/370090507 public static void SqlBulkUpdate() { DataTable dt = ExcelHelper.ImportExcelFile("d://User1.xls"); //将Excel中的数据导入到DataTable中 10000
C++通过ADO调用存储过程
很久以前就在网上找了一些关于用C++调用数据库存储过程的文章,并用到了自己的项目中。网上的文章都是要定义_CommandPtr和_ParameterPtr类型的智能指针对象,然后用pCmd->Excute(...)的方法来执行。这样做也没什么不好,就是麻烦了点。这两天突然来了灵感,想到一个更简单的方法: #include #include using namespace std; #i
_RecordsetPtr的update操作错误问题
代码如下rnif (!rs.AddNew())rn return false;rnif (!rs.PutFieldValue(DBS_FIELD_CHANNEL_PRIVILEGE_ITEMID, _T("")))rn return FALSE;rnif (!rs.PutFieldValue(DBS_FIELD_CHANNEL_PRIVILEGE_CHANNELID, m_strPrivilegeChannelID)) //变量为“ch1”rn return FALSE;rnrs.Update();rn连接oracle数据库时:rn两个字段都是nchar(36)类型rn在<em>update</em>之前没有错误,执行<em>update</em>时提醒错误描述为[错误代码 : 80040e57 错误描述 : ORA-12899: 列 "ITEMID" 的值太大 (实际值: 72, 最大值: 36) 源命令行 : Update];rn把ITEMID改为nchar(72)或者nvarchar(36)之后就提醒第二个字段同样的错误;rnrn问题是连接sqlserver数据库时一切正常!!!rnrn感觉这是两种数据库的存入问题。。。请不吝赐教!rnrnrn
_RecordsetPtr 的Update问题!
_variant_t strQuery;rn strQuery="select * from text2";rn theApp.ADOExecute(theApp.m_pADOSet, strQuery);//这里theApp.m_pADOSet是一个_RecordsetPtrrn int iCount = theApp.m_pADOSet->GetRecordCount();rn rn theApp.m_pADOSet->MoveFirst();rn for(int k=0;kUpdate(vColumn,vValue);rn rnrn catch (_com_error &e) rn CString strError = (char*)(_bstr_t)e.Description();rn AfxMessageBox(strError);rn rn// rn rn theApp.m_pADOSet->MoveNext();rn rnrn就是这么简单的一个问题,要把表的一个字段(“mois”)的值全设为0,但运行到中途的时候总是出错,信息为“基于查询的更新出错,没有发现要更新的行”,但查看结果,已经更新了很多条记录了,为什么中途会出错呢!上面是把一个程序简化了(但这样都出错!),原程序复杂得多。
Ado使用PutCollect更改记录Update时出错
问题: 使用<em>ado</em>更新access数据抛出“未指定数据异常” 1,使用Update更新一些特殊变量时一出现问题(像Date/Time) 2,写法 CString sSql = _T("SELECT 需要的字段 FROM clientUser WHERE clientUser.sChls='") + sChl + _T("';");_RecordsetPtr prst;
解决Delphi ADO无法为更新定位行。一些值可能已在最后一次读取后已更改的问题
解决Delphi ADO无法为更新定位行。一些值可能已在最后一次读取后已更改的问题   2012-11-21 20:39:31|  分类: 数据库相关 |  标签:sql  delphi  数据库  |举报|字号 订阅        下载LOFTER我的照片书  |
ADO操作后_RecordsetPtr释放问题
各位,用一个_RecordsetPtr临时变量pRecordset对数据库操作后,怎么释放掉它呢?我用delete总是出错,难道说只要pRecordset->close();后,它就会被释放掉么?还是用别的方式?
ADO _RecordsetPtr 超时
ADO _RecordsetPtr 超时 有什么函数可以设置阿.rn用_RecordsetPtr 获取的结果集合。rn执行到一半就报错了。 应该是时间问题。 有什么函数可以设置执行时间阿.?
关于 ado 的 recordsetPtr 使用
recordsetPtr的open方法 什么时候会一次返回所有记录到内存?rn经常出现异常,错误消息为 对象已经使用 是怎么回事啊?
_com_error at memory location / 对象关闭时,不允许操作。
开始出现的问题是一直出现这样的错: 然后 break 就到了: inline HRESULT Recordset15::Close ( ) { HRESULT _hr = raw_Close(); if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));//但我觉得出错点是这句 retur
使用ADO读取数据库中的二进制文件
1.       //JPG图片保存到数据库    2.           try    3.           {    4.               _RecordsetPtr    pRecordset;    5.               pRecordset.CreateInstance(__uuidof(Recordset));    6.  
ADO::_RecordsetPtr open
当我用 ADO::_RecordsetPtr 的open函数时rn我如何知道我的sql语句影响了多少行
ado 关于数据库 _RecordsetPtr的问题
我谢了一个程序代码如下:rnrnsql_string1.Format("select NAME,NAME_CHN,NAME_PY from POINAME where NAME = %s",name);rnrnif(FAILED(m_pPoiNameRecordset->Open(_variant_t(sql_string1),_variant_t((IDispatch *)m_pConnection,true),rn adOpenStatic,adLockOptimistic,adCmdText)))rn rn AfxMessageBox("Create RecordSet Instance failed!");rn return NULL ;rn rnrn_variant_t name_chn;rn _variant_t name_py;rn CString name_chn_record = "'" ;rn CString name_py_record = "" ;rn bool flag = false;rn while(!m_pPoiNameRecordset-><em>ado</em>eof)rn name_chn = m_pPoiNameRecordset->GetCollect("NAME_CHN");rn name_py = m_pPoiNameRecordset->GetCollect("NAME_PY");rn rn if (flag==false) rn flag = true;rn rn elsern name_chn_record+="%";rn name_py_record+="%";rn rn name_chn_record+=((LPCTSTR)(_bstr_t)name_chn);rn name_py_record+=((LPCTSTR)(_bstr_t)name_py);rn rnrnrnNAME_CHN 和 NAME_PY 字段能够提取出来,但是这个循环却陷入了死循环rn每次取出的数据都是一样的。rn那为可以给分析一下原因
ADO _RecordsetPtr 问题
数据库编程新手,想请问一个问题,谢谢各位前辈!rnrn_RecordsetPtr是否有接口,可以获得存储结果数据的指针 ? (buffer of the query result)rnrn
在VS2010下MFC采用ADO方式连接ACCESS数据库(详细过程)
第一步:首先建立基于对话框的MFC应用程序Library,然后添加一个用户登录界面如图: 并建立此对话框的类LoginDlg ,在类中新建两个变量CString m_strName;  CString m_strPassword;并完善相应的构造函数和DoDataExchange 部分代码如下: LoginDlg::LoginDlg(CWnd* pParent /*=NUL
Kotlin框架巡礼
首先要说明,Kotlin支持你所知道的所有Java框架和库,包括但不限于Spring全家桶、Guice、Hibernate、MyBatis、Jackson等,甚至有人在用Kotlin写Spark大数据程序,因此Kotlin不需要专门的框架。因此,为Kotlin开发框架的人,都是怀着满满的爱! Kotlin现在主要流行于Android开发,...
ado问题三:_RecordsetPtr
_ConnectionPtr pMyConnect = NULL;rn HRESULT hr = pMyConnect.CreateInstance( __uuidof( Connection ) );rn if( FAILED( hr ) )rn rn AfxMessageBox( "pMyConnect.CreateInstance失败" );rn return;rn rnrn _bstr_t strConnect = "Provider=OraOLEDB.Oracle;Data Source=db;User Id=aaa;Password=bbb;"; rn //connecting to the database server now:rn tryrn rn pMyConnect->Open( strConnect, "","" , NULL );rn AfxMessageBox( "连接成功" );rn rn catch( _com_error &e )rn rn ::MessageBox(NULL,e.Description(),"警告",MB_OK | MB_ICONWARNING);rn return;rn rnrn _RecordsetPtr m_pRecordset;rn if( !FAILED( m_pRecordset.CreateInstance( __uuidof( Recordset ) ) ) )rn rn AfxMessageBox( "m_pRecordset.CreateInstance失败" );rn pMyConnect->Close();rn return;rn rnrn tryrn rn m_pRecordset->Open( _variant_t( "oe_press" ),rn _variant_t( ( IDispatch * )pMyConnect, true ),rn adOpenKeyset,rn adLockOptimistic,rn adCmdTable );rn AfxMessageBox( "打开表成功" );rn rn catch( _com_error &e )rn rn AfxMessageBox( "无法打开表" );rn rn pMyConnect->Close();rnrn运行时m_pRecordset.CreateInstance失败,请教高人指点。
VC++ 使用msado15.dll ADO数据库控件
在StdAfx.h中加入如下语句:(调用ADO控件) #import "C:\Program Files\Common Files\System\<em>ado</em>\ms<em>ado</em>15.dll" no_namespace rename("EOF","<em>ado</em>EOF") rename("BOF","<em>ado</em>BOF") -------------------------------------------------
TADO缓存批量更新
ADO <em>update</em> insert delete 缓存 批量 更新
VC中向数据库插数据,执行“UPDATE()”时,出现异常:无法更新,当前被锁定
1.  换成事务处理 http://www.80diy.com/home/20040401/08/2911206.html 事务处理是数据库提供的,跟ADO或VC没有关系,         BeginTrans:开始一个事务     Commit;事务提交。     rollback:事务回滚。         实际上就是在你开始一个事务以后,所有数据库数据的变化和操作都纪录下来,
EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。
EXECUTE 后的事务计数指出缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。原计数 = 0,当前计数 = 1。 这是我错误的存储过程,在这个存储过程里,我想做的是开始一个事务,设置这个事务的保存点,更新库存,如果库存更新失败,或者没有符合条件的数据
VC++中ADO方式操作数据库之有关“datetime”字段的操作
直接上代码: void CADOConDlg::OnButton1() { // TODO: Add your control notification handler code here HRESULT hr; CString strSql; _ConnectionPtr m_pConnection; _RecordsetPtr m_pRecordset; try { //
使用ADO.NET实现数据的更新
使用ADO.NET实现数据的更新  public SqlConnection GetConnection()         {             //获取Web.Config 文件中的连接字符串             String myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString
VB中使用ADO的方法创建及访问Excel文件
本文主要介绍使用ADO的方法操作EXCEL文件,其它相对于使用EXCEL对象更通用简单.   数据库连接    Dim <em>ado</em>Conn As New ADODB.Connection     Dim <em>ado</em>Reco As New ADODB.Recordset     Set <em>ado</em>Conn = New ADODB.Connection    OLE DB + ODBC Driver
FieldByName速度优化
调用FieldByName主要是调用FindField,会在主循环引进n个新子循环下面优化比较好var  AField : TField;  begin  Assert(AdoQuery1.Active, 'Dataset is not active!');  try    AdoQuery1.DisableControls;    AField := AdoQuery1.FieldByName('MyFieldName');     AdoQuery1.First;    while not AdoQue
利用ADO操作Excel文件
今天花时间研究了一下ADO操作Excel文件的问题,跟大家分享一下:首先利用Excel2003创建了一个名为Demo.xls的文件,内容如下: Name Age TY
ADO.NET(四) 参数化sql和简单的 增删改查
ExecuteScalar()方法通过SELECT语句返回查询结果中的第一行第一列的值,该方法常用于执行返回单个字段的 查询,如count(),max()等。 ExecuteNonQuery()方法执行返回结果集的命令,如insert delete <em>update</em>。这个方法返回一个信息--受影响的 行数,如果不是insert delete <em>update</em> 则返回-1。 为了防止sql注入漏洞我
ADO编程-Command对象
ADO编程-Command对象 标签(空格分隔): 数据库 Command对象定义了将对数据源执行的指定命令。该对象的常用属性和方法如下: ActiveConnection属性:该属性指定Command对象所属的Connection对象。 CommandText属性:该属性包含发送给数据提供者的命令文本,根据DBMS的不同,数据提供者能够执行的命令格式也有所不同。该属性的值为包含数据提...
Delphi中ADO查询多表更新单表解决方法
学Delphi也好久了,但一直没怎么总结,这不好久没弄ADO了,趁这个星期一直看公司的代码,自己也来实践一下。以前一直用ADO操作单表,一直没怎么弄过ADO操作多表的程序,不自己实践一下还真不知道操作多表时有要注意的地方。下面是一个例子。 第一步,新建一个测试库Test,表结构如下: 第二步,新建一个Delphi应用程序,在界面上放置<em>ado</em>connection和<em>ado</em>q
在VC++中使用 Ado 连接到sql server,并 使用insert 语句插入二进制数据
之前在百度找了很久都没有找到利用insert语句插入二进制数据的方法,后来终于是在国外网站上找到了,真是艰辛…… 这里主要是利用 _CommandPtr 对象来添加参数的形式来实现附带二进制数据。 大概的流程就是: 1、把二进制数据封装到 SAFEARRAY 对象中 2、把SAFEARRAY 对象填充到 variant_t 的变量中 3、把 variant_t 变量作为参数的值传入到 C...
BCB使用ADOQuery连接数据库
1.2.3.4.此处必须勾选“允许保存密码”。
ADO对象关闭时,不允许操作。
存储过程加入下面这样解决:set nocount on  原文地址
ADO.SQL.ADD修改数据后刷新小技巧
用数据控件的edit和post方法,在DBGRID中可以实时显示变更后的数据,用ADO.SQL.add却不能,修改数据后用刷新也不能显示修改过的数据,除非你重新查询一下。 这几天偶然发现,使用ADO.close再使用ADO.open后,数据表中的数据刷新了,呵呵。 其实方法本来就有,但本人一直不知道,对自己来说算是一个新发现,就是不知道这种刷新对系统运行有什么影响没有。 记录一下,以备后查。...
delphi adoquery的增删查改
procedure TForm1.Button2Click(Sender: TObject); begin ADOQuery.Close; ADOQuery.SQL.Clear; ADOQuery.SQL.Text:='insert into YourTABLE(字段1,字段2) values(:字段1,:字段2)'; // ADOQuery.SQL.Add('insert into YourTA
VC++下封装ADO类以及使用方法
操作系统:windows 7软件环境:visual studio 2008 、Microsoft SQL 2005本次目的:介绍一个已经封装的ADO类,简单说明怎么导入使用      首先声明一下,这个封装的ADO类是在【vc知识库】下载的,因为最近在数据库课程设计,所以对vc++下使用ADO连接数据库不是很了解,故若是本文有错误的地方的,请不吝指出。具体的ADO类各个封装功能
VC++6.0使用ADO开发ACCESS数据库静态库脱机2.0.rar
本文通过实例演示如何在VC++中使用ADO进行ACCESS数据库编程,并对涉及到的几个概念进行详细解释。 本文不对ADO和ACCESS的基本概念进行详细解释,主要包括以下内容: 第一部分 ADO和ADOX到底是什么,二者的作用和区别建立数据库 第二部分 ADOX创建ACCESS数据库 第三部分 ADO创建ACCESS数据库的表 第四部分 使用_ConnectionPtr接口开发ACCESS数据库 第五部分 使用_RecordsetPtr接口开发ACCESS数据库 修正: 1. RecordsetPtr增删改查功能。 2. 可静态库运行
ADODB错误解决办法
错误如下: MSJRO.tlh(100) : error C2146: syntax error : missing ';' before identifier 'ConflictTables' MSJRO.tlh(100) : error C2501: '_RecordsetPtr' : missing storage-class or type specifiers MSJR
黑马程序员之ADO.NET学习笔记:执行Insert操作
首先,需要申明一个SqlCommand对象; 其次,用SqlConnection的CreateCommand()函数,创建一个SqlCommand对象,然后将所要执行的SQL语句赋值给SqlCommand的CommandText属性; 最后,调用SqlCommand类的ExexuteNonQuery()方法,执行CommandText的SQL语句。 代码语句: using(SqlComma
关于SpringBoot bean无法注入的问题(与文件包位置有关)
问题场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统后台数据管理一个module server-platform-app 给移动端提供rest数据接口一个module server-mobile-api 其中server-platform-app 与
简单C# web爬虫示例下载
简单的C# web爬虫示例,主要包括两部分功能:1、获取对应url的html源文件;2、从源文件中匹配出需要的特定文本内容。 相关下载链接:[url=//download.csdn.net/download/lw129702/1991766?utm_source=bbsseo]//download.csdn.net/download/lw129702/1991766?utm_source=bbsseo[/url]
学校教育管理系统分析下载
学校教育管理系统分析, 应用程序教材,已转化为PDF格式,绝对打得开! 相关下载链接:[url=//download.csdn.net/download/tdl66/2009286?utm_source=bbsseo]//download.csdn.net/download/tdl66/2009286?utm_source=bbsseo[/url]
myword(Qt 版)下载
这是一个基于Qt编写的背单词软件,当你使用了它以后你就知道这绝对是一个新手写的,软件并不复杂,但值得学习的模块很多,压缩包内附源代码,对于学习Qt的朋友会有帮助的... 不要资源分,用来学习的东西,应该大家共享... 相关下载链接:[url=//download.csdn.net/download/hicjiajia/2147692?utm_source=bbsseo]//download.csdn.net/download/hicjiajia/2147692?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 大数据培训后 学习了java后
我们是很有底线的