如何调用存储过程!?!?

czj2000 2002-09-27 08:56:24
请问各位,在开发数据库软件的时候,在vb程序中,如何调用存储过程。
小弟初学vb,贻笑大方,多谢各位!!!
...全文
42 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitcat 2002-09-27
  • 打赏
  • 举报
回复
方法一:是用ADO的COMMAND集合,挺麻烦,但是肯定能用
方法二:是用ADO的CONNECT的EXEC方法,简单,有时不好用!
laolin 2002-09-27
  • 打赏
  • 举报
回复

czj2000 (chenzhujun) :

你用什么方式访问什么数据库?
shux 2002-09-27
  • 打赏
  • 举报
回复
ADO2.6,行。
wzsswz 2002-09-27
  • 打赏
  • 举报
回复
对无记录集返回或只返回一个记录集,楼上兄弟方法可取。
如procedure有几个实参返回,不用ADODB.Command,
楼上兄弟用AdoRst.Open "你的存储过程名 参数一,参数二",AdoCon 行吗!!

shux 2002-09-27
  • 打赏
  • 举报
回复
' 你的电脑必须是:ADO2.6以上的版本
Dim AdoCon As New ADODB.Connection
Dim AdoRst As New ADODB.RecordSet

AdoCon.Open ....

方法一:
Set AdoRst = AdoCon.Execute("你的存储过程名 参数一,参数二") ' 注:字符串参数要加单引号

方法二:
AdoRst.Open "你的存储过程名 参数一,参数二",AdoCon
maoqingfeng 2002-09-27
  • 打赏
  • 举报
回复
gz
sindyzhou 2002-09-27
  • 打赏
  • 举报
回复
這么長,其實很簡單:
dim cnn as new adodb.connection
cnn.open "provider……"
cnn.exec "exec ProcName"
wzsswz 2002-09-27
  • 打赏
  • 举报
回复
This example uses the Append and CreateParameter methods to execute a stored procedure with an input parameter.

Public Sub AppendX()

Dim cnn1 As ADODB.Connection
Dim cmdByRoyalty As ADODB.Command
Dim prmByRoyalty As ADODB.Parameter
Dim rstByRoyalty As ADODB.Recordset
Dim rstAuthors As ADODB.Recordset
Dim intRoyalty As Integer
Dim strAuthorID As String
Dim strCnn As String

' Open connection.
Set cnn1 = New ADODB.Connection
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
cnn1.Open strCnn
cnn1.CursorLocation = adUseClient

' Open command object with one parameter.
Set cmdByRoyalty = New ADODB.Command
cmdByRoyalty.CommandText = "byroyalty"
cmdByRoyalty.CommandType = adCmdStoredProc

' Get parameter value and append parameter.
intRoyalty = Trim(InputBox("Enter royalty:"))
Set prmByRoyalty = cmdByRoyalty.CreateParameter("percentage", _
adInteger, adParamInput)
cmdByRoyalty.Parameters.Append prmByRoyalty
prmByRoyalty.Value = intRoyalty

' Create recordset by executing the command.
Set cmdByRoyalty.ActiveConnection = cnn1
Set rstByRoyalty = cmdByRoyalty.Execute

' Open the Authors table to get author names for display.
Set rstAuthors = New ADODB.Recordset
rstAuthors.Open "Authors", cnn1, , , adCmdTable

' Print current data in the recordset, adding
' author names from Authors table.
Debug.Print "Authors with " & intRoyalty & " percent royalty"
Do While Not rstByRoyalty.EOF
strAuthorID = rstByRoyalty!au_id
Debug.Print " " & rstByRoyalty!au_id & ", ";
rstAuthors.Filter = "au_id = '" & strAuthorID & "'"
Debug.Print rstAuthors!au_fname & " " & rstAuthors!au_lname
rstByRoyalty.MoveNext
Loop

rstByRoyalty.Close
rstAuthors.Close
cnn1.Close

End Sub

saucer 2002-09-27
  • 打赏
  • 举报
回复
if you are using SQL Server, read

http://216.26.168.92/databases/sqltutorial4/index4.html

7,789

社区成员

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

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