vb执行sql,比如update语句后有个返回值,影响了多少行,怎么获取

cmdasAdodb.Command,rstasAdodb.RecordSet//sql="updatetab1setfid1=2whereid=1"试过rst=cmd.... cmd as Adodb.Command,rst as Adodb.RecordSet // sql="update tab1 set fid1=2 where id=1"
试过 rst=cmd.Execute(),的rst获取记录数就会报 对象已关闭 错误,
试过 cmd.commandText=sql & " go select @@rowcount",,也是没办法取的,
试过在cmd.execute后再用 rst执行 open "select @@rowcount",,,结果是-1,,,说明没取到啊,,,
试过rst.open "update 。。。 select @@rowcount"取的rst1也是已关闭,无语。。。
没办法取得返回值吗??那怎么知道delete某条记录后是否成功 (这个应该只能通知影响了几行吧!)
是这样吗,也不行
dim cmd as new adodb.command
connect ' 这是数据库连接cnn打开的方法,略
set cmd.ActiveConnection = cnn
cmd.CommandText = sql 'sql="insert into tab1(fid,fname) values(122,'ff')"
cmd.CommandTimeOut=180
dim ggg as Variant
cmd.Execute(ggg)
Msgbox ggg '这里"",而不是1,还是不行
set cmd=nothing
cnn.Close
展开
 我来答
Coo_boi
推荐于2016-01-04 · TA获得超过1333个赞
知道大有可为答主
回答量:2209
采纳率:50%
帮助的人:246万
展开全部
cmd.Execute()的第一个参数就是返回影响记录数。
使用方法:
rst = cmd.Execute(RecordsAffected)
Debug.Print RecordsAffected
更多追问追答
追问
RecordsAffected是什么类型
,我用变体型试,输出也是"",,没有反映出更新了1条,,,
追答
只有insert update delete的时候才会影响行数,select的要从rst里取
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式