0

У меня есть кнопка, которая вызывает хранимую процедуру в моей базе данных при нажатии. Код в моей форме 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 = MSDASQL;driver={SQL Server};database=dbname; server=servname;uid=;pwd=;" 

.Open конец с

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 прошел через него и на самом первом Parmeter я получить тип «Ошибка выполнения„13“ несоответствие "

Тип для ContractNumberField - varchar (50). Что мне здесь не хватает?

+0

вы создаете 'параметр LookUpTime' дважды - это не звучит как хорошая вещь. Звучит неплохо, что все эти поля «числа» являются varchar ... –

+0

исправлено, им просто пытаются заставить его работать до сих пор, прежде чем я вдаваюсь в детали с datatypes – Zingo

ответ

0

Ok я понял это, добавив «50» в качестве аргумента между HI и adParamInput

+0

Да, убедитесь, что вы знаете синтаксис для методов ADO , Справочная документация по API (http://msdn.microsoft.com/en-us/library/windows/desktop/ms677209 (v = vs.85) .aspx) будет полезна с этим. –

Смежные вопросы