社区
数据库
帖子详情
ado 调用存储过程不能得到记录集
jyxy_ljw
2003-10-17 03:20:28
用ado的open和execute方法调用存储过程,都不能得到记录集,但是这个存储过程确实已经执行了的,该存储过程其中有一条UPDATE语句,语法正确
如果将其屏弊掉,可以得到返回的记录集,
请问为什么,我如何才能在有UPDATE的情况下,正确调用
...全文
64
9
打赏
收藏
ado 调用存储过程不能得到记录集
用ado的open和execute方法调用存储过程,都不能得到记录集,但是这个存储过程确实已经执行了的,该存储过程其中有一条UPDATE语句,语法正确 如果将其屏弊掉,可以得到返回的记录集, 请问为什么,我如何才能在有UPDATE的情况下,正确调用
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
millian
2003-10-25
打赏
举报
回复
我曾经也遇到过类似问题,实际非常简单,检查一下存储过程中是否有非法字符存在。我那次就是在存储过程中为了排版方便,用了"tab"键,然后在查询分析器里检查存储过程工作正常,可是程序就是得不到记录集,看看你的存储过程是不是也有"tab"键。空格键是可以用的。
yuanl
2003-10-24
打赏
举报
回复
你必须移动记录指计(从头到尾),才能得到记录总数
SPliujun
2003-10-24
打赏
举报
回复
楼主是不是和我一样啊!
SPliujun
2003-10-24
打赏
举报
回复
_RecordsetPtr pTestRs;
_ConnectionPtr pCn;
_variant_t RecordsAffected;
::CoInitialize(NULL);
pCn.CreateInstance("ADODB.Connection");
pRs.CreateInstance("ADODB.Recordset");
pCn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\技術支持\\Liujun-test\\NW-test\\MMESeachFile\\vb\\MME_FileSearch\\MMEFileSearch.mdb","","",adModeUnknown);
pRs = pCn->Execute("SELECT JpgMapInfo.mapcd FROM JpgMapInfo",&RecordsAffected,1);
pRs->GetMaxRecords();
pRs->GetRecordCount();
为什么我这返回不出记录总数!
crazyeagle
2003-10-24
打赏
举报
回复
关注!
llm06
2003-10-24
打赏
举报
回复
把你存储过程的语句贴出来看看?
smallsix
2003-10-23
打赏
举报
回复
Open()执行SQL的 select 语句 Execute()执行的是select以外的语句,你把你的存储过程分成2个存储过程,把select 和UPdate语句分开试试看
Ozzman
2003-10-23
打赏
举报
回复
ADO我直接对表操作,业务在COM中完成!我帮不了你!呵呵!
klbt
2003-10-17
打赏
举报
回复
学习,帮你顶。
Excel使用
ADO
调用
SQL Server
存储
过程
示例
前期使用Excel做一个现场投票的小软件,问题出在查看投票按钮上,起初只是使用SELECT语句查询,一切正常;后期对于投票结果需要进行一些权重的计算,
过程
比较复杂,便想到把计算
过程
放在SQL Server端,使用
存储
过程
实现。但是,在
调用
存储
过程
的
过程
中却遇到了问题,一直无法返回
记录
集。最后发现问题出现在
记录
集的CursorLocation属性设置上,下面便把此问题的
过程
和解决方案提供如下,以免发生类似问题。
使用OLE-DB和
ADO
调用
返回
记录
集的Oracle
存储
过程
.docx
使用OLE-DB和
ADO
调用
返回
记录
集的Oracle
存储
过程
.docx
对
ADO
进行封装,支持参数化、
存储
过程
、事务
对
ADO
进行简单封装,支持参数化、
存储
过程
。 同一语句可以多次执行,以提高效率。 使用方法: 1、创建对象 2、参数准备(如果有的话) 3、数据库命令准备(如果需要多次执行) 4、打开数据库连接 5、执行SQL语句或者准备好的数据库命令,返回受影响的
记录
条数或者数据集中地
记录
数。 6、操作传出的数据集(可参照ExecuteScalar) 7、使用PutParameters刷新参数值,进行再次执行(如果需要多次执行)。 8、
调用
CloseRecordset关闭数据集,同时释放数据库命令对象。 9、关闭数据库连接。 注释暂时比较少,请多包涵。
SQL操作全集{很全很}
1.执行SQL查询语句时,将返回查询
得到
的
记录
集。用法为: Set 对象变量名=连接对象.Execute("SQL 查询语言") Execute方法
调用
后,会自动创建
记录
集对象,并将查询结果
存储
在该
记录
对象中,通过Set方法,将
记录
集赋给指定的对象保存,以后对象变量就代表了该
记录
集对象。 2.执行SQL的操作性语言时,没有
记录
集的返回。此时用法为: 连接对象.Execute "SQL 操作性语句" [, RecordAffected][, Option] ·RecordAffected 为可选项,此出可放置一个变量,SQL语句执行后,所生效的
记录
数会自动保存到该变量中。通过访问该变量,就可知道SQL语句队多少条
记录
进行了操作。 ·Option 可选项,该参数的取值通常为adCMDText,它用于告诉
ADO
,应该将Execute方法之后的第一个字符解释为命令文本。通过指定该参数,可使执行更高效。
UniDAC 4.1.4 for D6-XE2
数据集组件,大家也许会首选
ADO
,然后说BDE太老了,DBX不敢用。其实delphi优秀的数据集组件真不少,除了上诉的数据集组件,还有ZEOSDB、SQL Direct、UniDAC等,要是专业的数据集组件,更是百花盛开,如FIBPLUS、SDAC、ODAC、DOA等等,商业和开源不尽其中!这里只讨论UniDAC和
ADO
的一些比较。 Delphi能发展到现在,和一些著名的第三方控件厂商大力支持分不开,这其中包括Devart公司(Corelab)公司。Corelab公司做数据集驱动非常出名,就拿ODAC、SDAC和DBX驱动来说,已经远胜其他同行的第三方控件公司。UniDAC是Devart公司最近的力作,将ODAC、SDAC、IBDAC等驱动综合集成在一块。UniDAC无论是做三层还是两层,都远胜于
ADO
。下面说一些UniDAC的优点: 1、非常完美的支持多数据库的数据集套件。这一点,
ADO
也支持多数据库,但
ADO
除了MSSQL驱动之外,其他驱动支持的非常差。就拿Oracle驱动来说,在
调用
oracle复杂的
存储
过程
参数,总是或多或少有些问题;MSSQL企业管理器如果用了第三方驱动(比如是oracle),在导入导出数据也尚存在问题!更别提不是主流的IB数据库驱动。UniDAC支持Oracle、MSSQL、MYSQL、IB/FB、PostgreSQL。 2、对三层特性支持非常好!也许你也会问,三层也是访问DB,
ADO
也支持啊?!但三层最好方式是无状态方式,在高并发的处理中,一般不允许本地有数据集缓存。
ADO
没有单向数据集特性,所有的数据下载到本地,不停的开辟内存或释放大内存,对三层的内存是一个极大考验。TUniQuery有一个UniDirectional属性,支持单向速度,这点和DBX的想法不谋而合。况且,单向数据集特性速度非常快,在三层中,配合TDataSetProvider,中间件将其Data包发送到客户端,速度无可比拟。
ADO
也有流或XML格式包,但无论是XML或流格式,数据包远比CDS的包大几倍。CDS封包技术很好! 3、一些非常有用的属性或方法。常言道,细微之处见体贴。UniDAC有一些过人的方法或属性。比如,刷新单条
记录
(RefreshRecord)、多表更新的属性(UpdatingTable)、宏替换参数(Macros)、集成删除/新增/修改/刷新/锁定SQL语句、FetchRows,更让人称道的是引入了UpdateSQL组件。 在处理MSSQL新增后的自增字段,和
ADO
一样可以直接自动返回自增字段值,这一点,BDE不能做到、DBX不能做到、ZEOSDB不能做到。更令人称奇是,配合TUniUpdateSQL,还能自动返回自增字段值。 TUniUpdateSQL是一个好东西,
ADO
缺少TUdateSQL运作模式,默认的更新机制是主键字段+已变化的字段做where条件。在一般情况下是没问题,但如果这个表没有主键或where条件中的字段小数位很长导致误餐,就会产生更新找不到
记录
。TUdateSQL可以保证这点,运作灵活又透明。 4、对oracle支持非常好。别的不说,光是一个oracle连接的Direct Mode,不用安装oracle官方肥硕客户端(网上也有精10M左右简版的客户端),只要客户机支持TCP/IP协议即可。如果用
ADO
连接Oracle,必须保证先安装oracle客户端,还要配置连接文件,一堆繁琐事情。UniDAC对oracle支持的非常完美,和专业化的DOA差不多!
数据库
4,012
社区成员
39,817
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章