请问在VB中如何获得SQL server返回值(Sp_GetAppLock)

endstar 2005-07-07 11:03:39
如题.

sp_getapplock执行成功后有一个返回值 (return @result),如何在VB中用command对象读取?

谢谢
...全文
268 10 打赏 收藏 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxyan_35 2005-07-14
  • 打赏
  • 举报
回复
Dim Prm as new Parameter
dim iReturnv as integer
dim strCode as string

with Cmd
Set Prm = .CreateParameter("@DisCode", adVarChar, adParamInput, 10, strCode)
.Parameters.Append Prm
Set Prm = .CreateParameter("@Return", adInteger, adParamOutput, , iReturnv)
.Parameters.Append Prm
.Execute , , adCmdStoredProc

iReturnv = .Parameters("@Return")
end with
MagicianLiu 2005-07-14
  • 打赏
  • 举报
回复
在给你一个存储过程的例子,差不多都包括了,返回记录集,输入输出参数,在加上上面的返回值。
这个是我以前写ASP分页的存储过程的例子。
set mc_cmd = Server.CreateObject("ADODB.Command")
mc_cmd.ActiveConnection = conn
mc_cmd.CommandType=4
mc_cmd.CommandText = "effc_list "
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@dep",3,1,50,mc_dep)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@key",200,1,50,key)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@pagesize",3,1,50,psize)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@page",3,1,50,page)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@star",200,1,50,start)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@end",200,1,50,endt)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@total",3,2,,0)
mc_cmd.Parameters.Append mc_cmd.CreateParameter("@totalpage",3,2,,0)
set Rs =Server.CreateObject("ADODB.Recordset")
Set Rs=mc_cmd.Execute()
mc_cmd.Execute()
total=mc_cmd.Parameters("@total")
totalpage=mc_cmd.parameters("@totalpage")
MagicianLiu 2005-07-14
  • 打赏
  • 举报
回复
我查到了
Dim con As ADODB.Connection
Dim cmd As ADODB.Command
Set con = New ADODB.Connection
con.open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Pubs;Data Source=."
Set cmd = New ADODB.Command
cmd.ActiveConnection = con
cmd.CommandType = adCmdStoredProc
cmd.CommandText = "myp"
cmd.Parameters.Append cmd.CreateParameter("@ReturnValue", adInteger, adParamReturnValue)
cmd.Execute
debug.print cmd.Parameters(0).Value
MagicianLiu 2005-07-12
  • 打赏
  • 举报
回复
用个笨办法
set rs=con.execute("declare @intReturn Int Exec @intReturn=存储过程 '参数1','参数2','参数3' Select @intReturn")
debug.print rs(0)
如果参数中有输出参数,需要在定义一个变量!!
yiliao 2005-07-11
  • 打赏
  • 举报
回复
将@result在SQL中定义成OUTPUT型,就可以获取了
daisy8675 2005-07-10
  • 打赏
  • 举报
回复
别在这里打注意了,我用平常的办法执行根本不行

昨天问zjcxc,他讲,如果你能保证在VB中间同一会话,我就能解决...

faint....同一会话...
endstar 2005-07-09
  • 打赏
  • 举报
回复
楼上的...参数如何输入
MagicianLiu 2005-07-07
  • 打赏
  • 举报
回复
用个笨办法
set rs=con.execute("declare @intReturn Int Exec @intReturn=存储过程 Select @intReturn")
debug.print rs(0)
ReViSion 2005-07-07
  • 打赏
  • 举报
回复
用一个记录集来返回吧
daisy8675 2005-07-07
  • 打赏
  • 举报
回复
mark
内容概要:本文研究了基于PSCAD与MATLAB联合仿真平台的多区距离保护与智能故障定位协同方法,旨在提升高压输电线路在复杂运行条件下的保护精度与故障定位能力。研究融合全周期滑动DFT相量提取技术与Fortescue对称分量变换,构建适用于多区段输电线路的距离保护算法,并引入智能故障定位机制,实现故障区段的快速识别与精确定位。通过PSCAD进行电磁暂态建模与仿真,生成高保真故障数据,再利用MATLAB完成信号处理、保护判据计算与故障定位算法开发,充分发挥二者在高精度建模与高效算法实现方面的互补优势。研究覆盖系统建模、信号处理、保护逻辑设计、定位算法优化及联合仿真验证全流程,显著提升了距离保护的动作可靠性与故障定位的准确性。; 适合人群:具备电力系统继电保护基础知识,熟悉PSCAD和MATLAB仿真工具,从事电力系统自动化、继电保护算法开发或智能电网技术研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于高压输电线路的继电保护系统设计与优化;②用于开发高精度、自适应的智能故障定位算法;③实现PSCAD与MATLAB在复杂电力系统仿真与分析中的协同应用,提升科研与工程项目的开发效率。; 阅读建议:读者应结合文中提供的仿真模型与算法代码,动手实践联合仿真流程,重点关注DFT相量提取、对称分量变换的应用以及保护与定位算法的逻辑实现,建议在PSCAD中修改故障条件,在MATLAB中调试算法参数,以深入理解方法的鲁棒性与适应性。

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧