下面是我用 sql server 做的实验,麻烦大家看看有什么地方写的不对(没有执行可选特性). Dim Cnn As New ADODB.ConnectionPrivate Sub Command1_Click() Dim Cmm As New ADODB.Command Dim Pra1 As New ADODB.Parameter Dim Pra2 As New ADODB.Parameter Dim Pra3 As New ADODB.Parameter Dim Rs As New ADODB.Recordset Dim s As String Set Cmm.ActiveConnection = Cnn Cmm.CommandType = adCmdStoredProc Cmm.CommandText = "cp_Ins_Back"
Set Pra1 = Cmm.CreateParameter("ddd", adVarChar, adParamInput, 16, "ddd") Cmm.Parameters.Append Pra1 Set Pra2 = Cmm.CreateParameter("testd", adDBDate, adParamInput, 8, CDate(Date)) Cmm.Parameters.Append Pra2 Set Pra3 = Cmm.CreateParameter("dddO", adVarChar, adParamOutput, 16, "ddd") Cmm.Parameters.Append Pra3
Cmm.Execute
s = Cmm.Parameters("dddO")
End SubPrivate Sub Form_Load() Cnn.CursorLocation = adUseClient Cnn.Open "dsn=sss;uid=sa;pwd=sa" End Sub
参考以下 sql server 的 http://blog.csdn.net/online/archive/2004/08/05/66376.aspx
http://it.icxo.com/htmlnews/2004/08/13/298318.htm
Cmm.CreateParameter("testd", adDBDate, adParamInput, 8, CDate(Date)) A |____________才给8位大小阿,你看一下CDate(Date)打出来是多少?
其实我都是这样写的,因为你在存储过程里已经写好了参数了啊: Private Sub Command1_Click() Dim Cmm As New ADODB.Command Dim Pra1 As New ADODB.Parameter Dim Pra2 As New ADODB.Parameter Dim Pra3 As New ADODB.Parameter Dim Rs As New ADODB.Recordset Dim s As String Set Cmm.ActiveConnection = Cnn Cmm.CommandType = adCmdStoredProc Cmm.CommandText = "cp_Ins_Back"
这是我的能用 Private Sub Command1_Click() Dim conn As ADODB.Connection Set conn = New Connection constr = "Provider=msdaora.1;Data Source=cg;User ID=user;Password=psw;" conn.Open constr Dim cmd As ADODB.Command Set cmd = New ADODB.Command cmd.ActiveConnection = conn cmd.CommandText = "write_km1" cmd.CommandType = adCmdStoredProcDim rq As String rq = Date & " " & TimeDim p1 As New ADODB.Parameter Set p1 = cmd.CreateParameter("lsh", adChar, adParamInput, 11, "04102709199") cmd.Parameters.Append p1Dim p2 As New ADODB.Parameter Set p2 = cmd.CreateParameter("sfzmhm", adChar, adParamInput, 18, "532233197602033615") cmd.Parameters.Append p2Dim p3 As New ADODB.Parameter Set p3 = cmd.CreateParameter("kscx", adChar, adParamInput, 2, "ZZ") cmd.Parameters.Append p3Dim p4 As New ADODB.Parameter Set p4 = cmd.CreateParameter("ksrq", adDate, adParamInput, 8, CDate(rq)) cmd.Parameters.Append p4Dim p5 As New ADODB.Parameter Set p5 = cmd.CreateParameter("kscj", adChar, adParamInput, 3, 99) cmd.Parameters.Append p5Dim p6 As New ADODB.Parameter Set p6 = cmd.CreateParameter("kscs", adInteger, adParamInput, 2, 1) cmd.Parameters.Append p6Dim p7 As New ADODB.Parameter Set p7 = cmd.CreateParameter("ksy1", adChar, adParamInput, 30, "笑嘻嘻") cmd.Parameters.Append p7Dim p8 As New ADODB.Parameter Set p8 = cmd.CreateParameter("ksy2", adChar, adParamInput, 30, "") cmd.Parameters.Append p8Dim p9 As New ADODB.Parameter Set p9 = cmd.CreateParameter("jbr", adChar, adParamInput, 30, "发动机") cmd.Parameters.Append p9Dim p10 As New ADODB.Parameter Set p10 = cmd.CreateParameter("zt", adChar, adParamInput, 1, "A") cmd.Parameters.Append p10Dim p11 As New ADODB.Parameter Set p11 = cmd.CreateParameter("res", adInteger, adParamOutput, 1, 0) cmd.Parameters.Append p11Dim p12 As New ADODB.Parameter Set p12 = cmd.CreateParameter("err", adVarChar, adParamOutput, 300, "") cmd.Parameters.Append p12 cmd.ExecuteMsgBox cmd.Parameters("res").Value conn.Close Set conn = Nothing End Sub
Dim Cnn As New ADODB.ConnectionPrivate Sub Command1_Click()
Dim Cmm As New ADODB.Command
Dim Pra1 As New ADODB.Parameter
Dim Pra2 As New ADODB.Parameter
Dim Pra3 As New ADODB.Parameter
Dim Rs As New ADODB.Recordset
Dim s As String
Set Cmm.ActiveConnection = Cnn
Cmm.CommandType = adCmdStoredProc
Cmm.CommandText = "cp_Ins_Back"
Set Pra1 = Cmm.CreateParameter("ddd", adVarChar, adParamInput, 16, "ddd")
Cmm.Parameters.Append Pra1
Set Pra2 = Cmm.CreateParameter("testd", adDBDate, adParamInput, 8, CDate(Date))
Cmm.Parameters.Append Pra2
Set Pra3 = Cmm.CreateParameter("dddO", adVarChar, adParamOutput, 16, "ddd")
Cmm.Parameters.Append Pra3
Cmm.Execute
s = Cmm.Parameters("dddO")
End SubPrivate Sub Form_Load()
Cnn.CursorLocation = adUseClient
Cnn.Open "dsn=sss;uid=sa;pwd=sa"
End Sub
sql server 的
http://blog.csdn.net/online/archive/2004/08/05/66376.aspx
A
|____________才给8位大小阿,你看一下CDate(Date)打出来是多少?
Private Sub Command1_Click()
Dim Cmm As New ADODB.Command
Dim Pra1 As New ADODB.Parameter
Dim Pra2 As New ADODB.Parameter
Dim Pra3 As New ADODB.Parameter
Dim Rs As New ADODB.Recordset
Dim s As String
Set Cmm.ActiveConnection = Cnn
Cmm.CommandType = adCmdStoredProc
Cmm.CommandText = "cp_Ins_Back"
Cmm.Parameters("存储参数,例如@a").value=变量
...... Cmm.Execute
End Sub
Private Sub Command1_Click()
Dim conn As ADODB.Connection
Set conn = New Connection
constr = "Provider=msdaora.1;Data Source=cg;User ID=user;Password=psw;"
conn.Open constr
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = conn
cmd.CommandText = "write_km1"
cmd.CommandType = adCmdStoredProcDim rq As String
rq = Date & " " & TimeDim p1 As New ADODB.Parameter
Set p1 = cmd.CreateParameter("lsh", adChar, adParamInput, 11, "04102709199")
cmd.Parameters.Append p1Dim p2 As New ADODB.Parameter
Set p2 = cmd.CreateParameter("sfzmhm", adChar, adParamInput, 18, "532233197602033615")
cmd.Parameters.Append p2Dim p3 As New ADODB.Parameter
Set p3 = cmd.CreateParameter("kscx", adChar, adParamInput, 2, "ZZ")
cmd.Parameters.Append p3Dim p4 As New ADODB.Parameter
Set p4 = cmd.CreateParameter("ksrq", adDate, adParamInput, 8, CDate(rq))
cmd.Parameters.Append p4Dim p5 As New ADODB.Parameter
Set p5 = cmd.CreateParameter("kscj", adChar, adParamInput, 3, 99)
cmd.Parameters.Append p5Dim p6 As New ADODB.Parameter
Set p6 = cmd.CreateParameter("kscs", adInteger, adParamInput, 2, 1)
cmd.Parameters.Append p6Dim p7 As New ADODB.Parameter
Set p7 = cmd.CreateParameter("ksy1", adChar, adParamInput, 30, "笑嘻嘻")
cmd.Parameters.Append p7Dim p8 As New ADODB.Parameter
Set p8 = cmd.CreateParameter("ksy2", adChar, adParamInput, 30, "")
cmd.Parameters.Append p8Dim p9 As New ADODB.Parameter
Set p9 = cmd.CreateParameter("jbr", adChar, adParamInput, 30, "发动机")
cmd.Parameters.Append p9Dim p10 As New ADODB.Parameter
Set p10 = cmd.CreateParameter("zt", adChar, adParamInput, 1, "A")
cmd.Parameters.Append p10Dim p11 As New ADODB.Parameter
Set p11 = cmd.CreateParameter("res", adInteger, adParamOutput, 1, 0)
cmd.Parameters.Append p11Dim p12 As New ADODB.Parameter
Set p12 = cmd.CreateParameter("err", adVarChar, adParamOutput, 300, "")
cmd.Parameters.Append p12
cmd.ExecuteMsgBox cmd.Parameters("res").Value
conn.Close
Set conn = Nothing
End Sub