如何在VB中调用SQLSERVER中的存储过程和使用触发器?(分不够可以再加,请高手帮帮!)

hong0411ren 2003-11-19 10:04:52
我在SQLSERVER中写好一个存储过程和触发器,在VB中如何调用存储过程?还有是为何在SQLSERVER查询器中能调用触发器而在VB中触发器却不能用呢,那么在VB中如何调用触发器呢?触发器不是数据库自动调用吗?
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
latola 2003-11-19
  • 打赏
  • 举报
回复
调用存储过程 sp_name
dim cn as adodb.connection
dim cmd as adodb.command
set cn=new adodb.connection
set cmd=new adodb.command
cmd.activeConnection=cn
cmd.commandText="{call sp_name}"
...
hong0411ren 2003-11-19
  • 打赏
  • 举报
回复
怎么大家都很忙吗?都不理我呀!好伤心!
飘零风 2003-11-19
  • 打赏
  • 举报
回复
调用存储过程,如果没有参数的话,那么就像调用 select语句一样的用就可以了:
Conn.Execute "sp_name"

如果返回的是记录集,那么就
Set Rs=Conn.Execute("sp_name")

如果存储过程本身有调用参数,那就用Command对象来做。一个小例子:
------------------------------------------------------------
Dim CMD As New ADODB.Command
CMD.CommandText = "{?=call sp_name(?,?)}"
CMD.Parameters.Append CMD.CreateParameter("@return_value", adInteger, adParamReturnValue) '创建标准返回参数(CommandText中的第一个问号)
CMD.Parameters.Append CMD.CreateParameter("@para1", adVarChar, adParamInput, 50) '创建调用参数(CommandText中的第二个问号)
CMD.Parameters.Append CMD.CreateParameter("@para2", adVarChar, adParamInputOutput, 50) '创建调用参数(CommandText中的第三个问号)。这个参数是返回值
CMD("@para1") = para1 '为参数赋值
CMD("@para2") = para2
CMD.ActiveConnection = Conn '指定该Command对象使用的连接
'CMD.Execute '如果没有返回值,或者返回的不是记录集,那就用这句就可以了
Set Rs = CMD.Execute '返回的是记录集
para2=CMD("@para2") '得到返回值
---------------------------------------------------------------------
大致上就是这么用的了。

至于触发器,我可以肯定的告诉你,它是否工作,工作是否正常,跟你用什么方法操作SQL SERVER是完全没有关系的。用VB也好,用查询分析器也好,用别的工具也好,效果绝对是完全一样的。实际上,我们通常都是用高级语言来操作数据库,而不是用查询分析器,但是触发器还是会一样工作,对吧?
snowolf_ren 2003-11-19
  • 打赏
  • 举报
回复
同上
红牛哥110 2003-11-19
  • 打赏
  • 举报
回复
dim cn as new adodb.cennection
dim cmd as new adodb.command
set cn=adodb.connection
set cmd=adodb.command
cmd.activeconnection=cn
cmd.commandtext="{call sp_name}"
vico110 2003-11-19
  • 打赏
  • 举报
回复
执行存储过程跟执行select 语句一样的,
adodc1.recordsource="exec sp_name"

7,732

社区成员

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

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