在VB中,怎么调用一个sql server的存储过程?

dinggy 2004-08-05 12:14:43
如题
...全文
114 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
online 2004-08-05
  • 打赏
  • 举报
回复

Option Explicit
Private mConn As Connection

Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim param As ADODB.Parameter

Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "insert_users"
cmd.CommandType = adCmdStoredProc

Set param = cmd.CreateParameter("truename", adChar, adParamInput, 20, Trim(txttruename.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("regname", adChar, adParamInput, 20, Trim(txtregname.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("pwd", adChar, adParamInput, 20, Trim(txtpwd.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("sex", adChar, adParamInput, 20, Trim(txtsex.Text))
cmd.Parameters.Append param

Set param = cmd.CreateParameter("email", adChar, adParamInput, 20, Trim(txtemail.Text))
cmd.Parameters.Append param

Dim s As Single
s = Val(Format(Text1.Text, "Fixed"))
Set param = cmd.CreateParameter("sl", adSingle, adParamInput, 50, s)
cmd.Parameters.Append param
Set rs = cmd.Execute

' Cmd_Tjjl.Parameters("@zwrq") = Format(Zwrq.Value, "yyyy-mm-dd")
' Cmd_Tjjl.Parameters("@zh") = Zh.Text
' .....
' Cmd_Tjjl.Parameters("@bz2") = Bz2.Text
'Cmd_Tjjl.Parameters("@czy")='11'


Command2_Click

End Sub

Private Sub Command2_Click()
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim param As ADODB.Parameter

Set rs = New ADODB.Recordset
Set cmd = New ADODB.Command
cmd.ActiveConnection = mConn
cmd.CommandText = "select_users"
cmd.CommandType = adCmdStoredProc

mConn.CursorLocation = adUseClient '设置为客户端

Set rs = cmd.Execute()

MsgBox rs.RecordCount
Set DataGrid1.DataSource = rs
DataGrid1.Refresh

End Sub


Private Sub Form_Load()
'open the connection
Set mConn = New Connection

mConn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=yang"
mConn.Open
Dim rs As New ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "users", mConn, adOpenStatic, adLockPessimistic

' MsgBox rs.RecordCount

End Sub



Private Sub Form_Unload(Cancel As Integer)

mConn.Close
Set mConn = Nothing
End Sub

存储过程
存储过程
CREATE PROCEDURE insert_users @truename char(20), @regname char(20),@pwd char(20),@sex char(20),@email char(20),@sl decimal(19,2)
AS
insert into users(truename,regname,pwd,sex,email,sl) values(@truename,@regname,@pwd,@sex,@email,@sl)
GO

CREATE PROCEDURE select_users
AS
select * from users
GO
hn123 2004-08-05
  • 打赏
  • 举报
回复
cnnConnection.Execute "sp_help "
这样也可以
hn123 2004-08-05
  • 打赏
  • 举报
回复
rs.open "存储过程" ,conn,adOpenStatic, adLockOptimistic
apple800 2004-08-05
  • 打赏
  • 举报
回复
Dim AdoCn As New ADODB.Connection
Dim AdoRs As ADODB.Recordset

AdoRs.Open "EXEC 存储过程名称", AdoCn, adOpenStatic, adLockOptimistic

后面的参数可以改变有不同的用法

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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