VBA:Excel 调用 MSSQL存储过程并返回结果,点了按钮啥反应也没有,也不报错,请问该怎么写啊?

Subtest()DimcnAsADODB.ConnectionDimrsDataAsADODB.RecordsetDimSQLConnection1AsStringSQ... Sub test()

Dim cn As ADODB.Connection
Dim rsData As ADODB.Recordset

Dim SQLConnection1 As String
SQLConnection1 = _
"Provider=SQLOLEDB;" & _
"Data Source=192.168.1.6;" & _
"Initial Catalog=AIS20121128104207;" & _
"User ID=sa;Password=123;"
Set cn = New ADODB.Connection
cn.Open SQLConnection1
Set gobjCmd = New ADODB.Command
Set gobjCmd.ActiveConnection = cn

gobjCmd.CommandText = "xjy_yszkmx"
gobjCmd.CommandType = adCmdStoredProc

gobjCmd.Parameters.Append _
gobjCmd.CreateParameter("@RETURN_VALUE", adInteger, _
adParamReturnValue, 0)
gobjCmd.Parameters.Append _
gobjCmd.CreateParameter("@year", adInteger, _
adParamInput, 40)

gobjCmd.Parameters("@year").Value = "2012"
Set rsData = gobjCmd.Execute
Do While Not rsData.EOF

rsData.MoveNext
Loop
End Sub
展开
 我来答
sywahlj
2013-02-18 · TA获得超过4935个赞
知道大有可为答主
回答量:2.2万
采纳率:0%
帮助的人:5210万
展开全部
设置rsData gobjCmd.Execute
虽然不rsData.EOF的

rsData.MoveNext

回路

这里是给rsdate分配,

然后是有循环并山光标向下移动缓模,直到边界

当然,绝哪中什么都不会发生
DO循环中可以添加你想要什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianqing20wen

2013-01-21 · TA获得超过2.4万个赞
知道大有可为答主
回答量:8226
采纳率:88%
帮助的人:5107万
展开全部
你的代码没问题 没反应不正好代表代码无错么~
你代码中无任何输出结果的语句
追问
谢谢你的回答,我先上楼上请教一下该怎么写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
niceasdfa11
2013-01-21 · TA获得超过262个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:356万
展开全部
Set rsData = gobjCmd.Execute
Do While Not rsData.EOF
rsData.MoveNext
Loop

你这里就是给rsdate赋值隐肆
然后就是一直循环让光标往下移,一直到边界灶仔轿戚谈
当然什么也不会发生了
你想要干什么可以添加在do loop里
追问
呃。。这个是我从网上抄来的。要实现我的目的该怎么写呢?
我就是想调用MSSQL里的xjy_yszkmx存储过程,并且在EXCEL表里返回执行结果。。。
追答
你直接加一句  [a1].copyfromrecordset rsdate 看看是不是你要的
就放最后就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式