存储过程通过
VB中:
Dim cmd As New ADODB.Command
Dim par As New ADODB.Parametercmd.ActiveConnection = Cnnck --连接也是正确的
cmd.CommandText = "storeck"
cmd.CommandType = adCmdStoredProcSet par = cmd.CreateParameter("startdate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet par = cmd.CreateParameter("enddate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet Rstck = cmd.Execute --执行提示需求参数 3 ?
VB中:
Dim cmd As New ADODB.Command
Dim par As New ADODB.Parametercmd.ActiveConnection = Cnnck --连接也是正确的
cmd.CommandText = "storeck"
cmd.CommandType = adCmdStoredProcSet par = cmd.CreateParameter("startdate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet par = cmd.CreateParameter("enddate", adDate, adParamInput, , frmCk.dtpYcl)
cmd.Parameters.Append parSet Rstck = cmd.Execute --执行提示需求参数 3 ?
解决方案 »
- CallByName 中的Check问题
- 如何根据进程ID得到完整的进程路径名?
- 【问】关于自建TreeView控件,Node Sorted排序的疑问?
- 关于外部控件的版本
- 用ACCASS做数据库,怎么能在局域网中运行啊,,,急,,
- 我想做一个语音视频聊天的程序,怎么做,谁能给我源代码~~!!!分不够再开帖子加分
- 请问怎样能使ole控件加上滚动条?
- 求助:取小数点后几位数的函数,该函数不要四舍五入。
- 关于ADO的应用,如果有这样的语句(if isexit(select* from tbl1) ),在ADo中如何应用?
- 请问大家有没有兴趣来组成一个程序员互进组织
- 求助,DateGrid中删除,点击取消删除后为什么还是删除了?
- 报表打印控件wsReport3.0 发布,顶者有分!
自己思考
方为己用Append 和 CreateParameter 方法范例 (VB)
本范例使用 Append 和 CreateParameter 方法来执行带输入参数的存储过程。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.CloseEnd Sub
如果不带参数 提示需求参数1
我改成Set Rstck = cmd.Execute(,1)也就通过了可是增加了2个输入参数就成这样了
Set Rstck = cmd.Execute --执行提示需求参数 3 ?
试试