如何获取SQL语句成功处理的记录数

dfwxj 2015-05-21 11:12:58
请教:ACCESS中,如何返回一条SQL语句成功处理的记录数。

例如表中有三条记录
id
123
456
789

delete from table where id<300 期望返回1;

delete from table where id<600 期望返回2;

update table set id=444 where id=500 期望返回0;

SQL SERVER中通过@@ROWCOUNT获得,请问ACCESS中如何处理?
...全文
71 点赞 收藏 7
写回复
7 条回复
dfwxj 2015年05月25日
谢谢WWWWB版主热心帮助
回复 点赞
wwwwb 2015年05月25日
用的VFP吧 nhandle=SQLSTRINGCONNECT("Driver={Microsoft Access Driver (*.mdb)};dbq=DB1.mdb;pwd=") Ac=SQLEXEC(nhandle,"UPDATE AA SET GG=9999 WHERE ID=5",'RR',AA) DISPLAY MEMORY LIKE AA 数组AA中的内容即是 SQLEXEC(nStatementHandle [, cSQLCommand [, cCursorName[, aCountInfo]]]) aCountInfo Specifies the name of the array to populate with row count information. If the array doesn’t exist, it is created. The array has two columns: 1 – Alias, 2 –Count. Count Number of affected or fetched records. Integer Indicates the number of affected records as returned by the ODBC SQLRowCount function. Returns -1 if the number of records is unavailable.
回复 点赞
ACMAIN_CHM 2015年05月23日
引用 3 楼 dfwxj 的回复:
[quote=引用 1 楼 ACMAIN_CHM 的回复:] 如果是通过程序执行SQL语句,则可以通过ADO的 nAffectedRow参数得到影响的记录行数。
我没有通过ADO,是用连接串直接连接的。 执行 sqlexec(lnhandle,"update yph set lflag=0 where id='XXXX' and lfalg=1") lflag 是一个锁定标志,必须确保正确锁定方可进行下一步处理。所以我要通过检查是不是影响了一条记录来判断。求代码。。。[/quote]建议参加你的编程语言中的说明。 不知道你使用的什么数据库访问方式。 如果是ADO,ADO.NET, DAO, oDBC, 则会有一个返回参数。 建议到对应的开发语言版块咨询。
回复 点赞
dfwxj 2015年05月23日
引用 2 楼 wwwwb 的回复:
先执行查询 select * from table where id<300 在ID上建立索引
不是需要返回ID,是要返回SQL语句处理影响了几条记录。我举的例子特殊了,正好跟ID相同了
回复 点赞
dfwxj 2015年05月23日
引用 1 楼 ACMAIN_CHM 的回复:
如果是通过程序执行SQL语句,则可以通过ADO的 nAffectedRow参数得到影响的记录行数。
我没有通过ADO,是用连接串直接连接的。 执行 sqlexec(lnhandle,"update yph set lflag=0 where id='XXXX' and lfalg=1") lflag 是一个锁定标志,必须确保正确锁定方可进行下一步处理。所以我要通过检查是不是影响了一条记录来判断。求代码。。。
回复 点赞
ACMAIN_CHM 2015年05月22日
如果是通过程序执行SQL语句,则可以通过ADO的 nAffectedRow参数得到影响的记录行数。
回复 点赞
wwwwb 2015年05月22日
先执行查询 select * from table where id<300 在ID上建立索引
回复 点赞
发动态
发帖子
Access
创建于2007-09-28

7016

社区成员

2.8w+

社区内容

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区公告
暂无公告