Visual studio 2008 我的存储过程上的类型不匹配
我有一个按钮,可以在单击时调用数据库中的存储过程。我的VB6表单中的代码如下Visual studio 2008 我的存储过程上的类型不匹配,visual-studio-2008,stored-procedures,vb6,sql-server-2012,Visual Studio 2008,Stored Procedures,Vb6,Sql Server 2012,我有一个按钮,可以在单击时调用数据库中的存储过程。我的VB6表单中的代码如下 Dim dbDlrID As New ADODB.Connection Dim cmdDlrID As New ADODB.Command Dim prm As ADODB.Parameter Dim i As Integer Set dbDlrID = New ADODB.Connection With dbDlrID .ConnectionString = "PROVIDER = MSDAS
Dim dbDlrID As New ADODB.Connection
Dim cmdDlrID As New ADODB.Command
Dim prm As ADODB.Parameter
Dim i As Integer
Set dbDlrID = New ADODB.Connection
With dbDlrID
.ConnectionString = "PROVIDER = MSDASQL;driver={SQL Server};database=dbname; server=servname;uid=;pwd=;"
.打开
以
Set cmdDlrID = New ADODB.Command
cmdDlrID.CommandText = "InsertLookupLog"
cmdDlrID.CommandType = adCmdStoredProc
cmdDlrID.CommandTimeout = 15
Set cmdDlrID.ActiveConnection = dbDlrID
Set prm = cmdDlrID.CreateParameter("@ContractNumberField", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@ContractSuffix", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@CustomerLastName", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@CustomerFirstName", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@Last6OfVin", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@DealershipName", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@ClaimNumber", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@PortalClaimNumber", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@RONumber", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@ContractID", adChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@LookUpUser", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@LookUpTime", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
Set prm = cmdDlrID.CreateParameter("@Department", adVarChar, adParamInput, "HI")
cmdDlrID.Parameters.Append prm
cmdDlrID.Execute
Iv通过它,在第一个参数上,我得到一个“运行时错误'13'类型不匹配”
ContractNumberField的类型为varchar(50)。我在这里遗漏了什么?好吧,我找到了答案,在HI和adParamInput之间添加了“50”作为参数您两次创建了
LookUpTime
参数-这听起来不是一件好事。所有这些“数字”字段都是varchar,这听起来也不好……修复了,我只是想让它暂时工作起来。在我详细介绍datatypesYes之前,请确保您知道ADO方法的语法。这将对我们有所帮助。