sql是我定义的string,addxs是sql里的存储过程,有16个参数。text2 ,text3为字符型,text1[]为decimal型。我想执行它,可是格式写的不对,请大家帮忙!
sql = "addxs('" + Text2.Text + "','" + Text3.Text + "','" + LTrim(Text1(0).Text) + "','" + LTrim(Text1(1).Text) + "','" + LTrim(Text1(2).Text) + "','" + LTrim(Text1(3).Text) + "','" + LTrim(Text1(4).Text) + "','" + LTrim(Text1(5).Text) + "','" + LTrim(Text1(6).Text) + "','" + LTrim(Text1(7).Text) + "','" + LTrim(Text1(8).Text) + "','" + LTrim(Text1(9).Text) + "','" + LTrim(Text1(10).Text) + "','" + LTrim(Text1(11).Text) + "','" + LTrim(Text1(12).Text) + "','" + LTrim(Text1(13)) + "')"
sql = "addxs('" + Text2.Text + "','" + Text3.Text + "','" + LTrim(Text1(0).Text) + "','" + LTrim(Text1(1).Text) + "','" + LTrim(Text1(2).Text) + "','" + LTrim(Text1(3).Text) + "','" + LTrim(Text1(4).Text) + "','" + LTrim(Text1(5).Text) + "','" + LTrim(Text1(6).Text) + "','" + LTrim(Text1(7).Text) + "','" + LTrim(Text1(8).Text) + "','" + LTrim(Text1(9).Text) + "','" + LTrim(Text1(10).Text) + "','" + LTrim(Text1(11).Text) + "','" + LTrim(Text1(12).Text) + "','" + LTrim(Text1(13)) + "')"
'存储过程中包含三个参数,两个输入类型,一个输出类型
'sp_日期 为存储过程名Public Function DateWorkout(ByVal BeginDate As String, ByVal WorkoutDate As Integer) As String
On Error GoTo ErrTrap
Dim cmdWork As New ADODB.Command
Dim param1 As Parameter, param2 As Parameter, param3 As Parameter
Set cmdWork.ActiveConnection = gadoCN
cmdWork.CommandText = "sp_日期"
cmdWork.CommandType = adCmdStoredProc
Set param1 = cmdWork.CreateParameter("@BeginDate", adDBTimeStamp, adParamInput)
cmdWork.Parameters.Append param1
Set param2 = cmdWork.CreateParameter("@DateNum", adInteger, adParamInput)
cmdWork.Parameters.Append param2
Set param3 = cmdWork.CreateParameter("@EndDate", adDBTimeStamp, adParamReturnValue)
cmdWork.Parameters.Append param3
param1.Value = BeginDate
param2.Value = WorkoutDate
param3.Value = 0
Call cmdWork.Execute
DateWorkout = param3.Value
On Error GoTo 0
Exit Function
ErrTrap:
DateWorkout = 0
On Error GoTo 0
End Function'示例存储过程代码
'CREATE PROCEDURE sp_日期(@BeginDate datetime,@DateNum integer,@EndDate datetime output)
'AS
' select @EndDate = @BeginDate+@DateNum
'GO
.ActiveConnection = conn
.CommandType = adCmdStoredProc
.CommandText = "Pro_Select_V_EPD_Material_Insert"
.Parameters("@Material_Class").Value = "'" & Trim(Material_Class) & "'"
.Parameters("@Material_Type").Value = "'" & Trim(Material_Type) & "'"
.Parameters("@M_P_Flag").Value = "'" & Trim(M_P_Flag) & "'"
.Parameters("@Material_Code").Value = "'" & Material_Code & "%'"
.Execute
End With
With Rs
.CursorLocation = adUseClient
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Open cmd
end with