2015-09-23 1 views
0

Я пытаюсь передать значение хранимой процедуры с помощью CMD в странице осины, но я получаю это:с помощью ЦМД выполнить в .asp и Пазинг аа VARCHAR к хранимой процедуре

Несоответствие типа: ' CInt»

/default/current/purchasing.asp, строка 512

в столбце Категория является varchar. Я думаю, что мне нужно передать тип данных.
Если я использую int колонку, я просто использовать int(sField_PO)

Как пройти varchar тип данных?

set prmCategory = server.CreateObject("ADODB.Parameter") 
    prmCategory.Name = "@Category" 
    prmCategory.Direction = 1 
    prmCategory.Type = 3 'adVarChar 
    prmCategory.Value = (sField_CATEGORY) 
    cmd.Parameters.append prmCategory 
+0

Что на линии 512 purchasing.asp? – Martha

+0

'adVarChar' -' 200', а не '3'. (Использование ADOVBS.INC или ADO Typelib позволит использовать эти значения перечисления по имени) –

+0

Сокращение; 'cmd.Parameters.Append cmd.CreateParameter (« @ Category », 200, 1,, sField_CATEGORY)' –

ответ

0

Уже пробовал?

set objCmd = Server.CreateObject("ADODB.Command") 
with objCmd 
    .ActiveConnection = MyConnection 
    .CommandType  = 4 'adCmdStoredProc 
    .CommandText  = "MY STORED PROCEDURE NAME" 
    .Parameters.Append .CreateParameter("@Category", 200, 1, 255, sField_CATEGORY) 
    .Execute 
end with 
set objCmd = nothing 

Если включить библиотеку типов вы можете использовать константы вместо чисел

<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" --> 
set objCmd = Server.CreateObject("ADODB.Command") 
with objCmd 
    .ActiveConnection = MyConnection 
    .CommandType  = adCmdStoredProc 
    .CommandText  = "MY STORED PROCEDURE NAME" 
    .Parameters.Append .CreateParameter("@Category", adVarChar, adParamInput, 255, sField_CATEGORY) 
    .Execute 
end with 
set objCmd = nothing 
+0

спасибо Silento..but Я работаю так, как если бы я использовал входное значение, и у меня есть несколько столбцов для обновления ... .Здесь есть code..I должны отправить в несколько различных комментариев ... –

+0

тусклые CMD \t тусклый prmClient \t набор CMD = Server.CreateObject ("ADODB.Command") \t cmd.ActiveConnection = DB \t CMD .CommandType = 4 «adCmdStoredProc \t cmd.CommandText = "p_InfoSYNC_Order_Insert" \t множество prmClient = Server.CreateObject ("ADODB.Parameter") \t prmClient.Name = "@Client" \t prmClient.Direction = 1 \t 'adParamInput \t prmClient.Type = 3 \t' adInteger \t prmClient.Value = 1 \t cmd.Parameters.append prmClient \t набор prmstore = Server.CreateObject ("ADODB.Parameter") \t prmStore.Name = "@Store" \t prmStore.Direction = 1 \t prmStore.Тип = 3 \t prmstore.Value = CInt (sField_STORE) \t cmd.Parameters.append prmStore –

+0

набор prmPO = Server.CreateObject ("ADODB.Parameter") prmPO.Name = "@PO" prmPO.Direction = 1 \t «adParamInput prmPO.Type = 20 \t prmPO.Value = CInt (sField_PO) cmd.Parameters.append prmPO множество prmCategory = Server.CreateObject ("ADODB.Parameter") prmCategory.Name = "@Category" prmCategory.Direction = 1 prmCategory.Type = 3 prmCategory.Value = 2 '(sField_CATEGORY) cmd.Parameter s.append prmCategory множество prmItemCode = Server.CreateObject ("ADODB.Parameter") prmItemCode.Name = "@ItemCode" prmItemCode.Direction = 1 prmItemCode.Type = 3 prmItemCode.Value = 3 «(sField_ITEMCODE) cmd.Parameters.append prmItemCode –

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

  • Нет связанных вопросов^_^