2012-12-04 38 views
0

MySql IN參數 - 在存儲過程中使用VarChar IN參數val時是否需要單引號?MySql IN參數 - 在存儲過程中使用VarChar IN參數val時是否需要單引號?

我已經創建了我的經典ASP代碼就像正常,但我沒有得到列更新。

我需要引用VarChar參數嗎?

DELIMITER $$ 

DROP PROCEDURE IF EXISTS `usp_update_map_record` $$ 
CREATE DEFINER=`ddddddd`@`%` PROCEDURE `usp_update_map_record`(
    IN p_intGrillId INT(10), 
    IN p_intPartId INT(10), 
    IN p_ManRef VARCHAR(10) 
) 
BEGIN 

UPDATE parts_map SET manualref = 'p_ManRef' WHERE grillid = p_intGrillId AND partid = p_intPartId; 

END $$ 

DELIMITER ; 

VBSCRIPT部:

With comm 
    .ActiveConnection = conn 
    .CommandType = adCmdStoredProc 
    .CommandText = "usp_update_map_record" 
    .Parameters.Append .CreateParameter("p_intGrillId", adInteger, adParamInput, 10, intGrillId) 
    .Parameters.Append .CreateParameter("p_intPartId", adInteger, adParamInput, 10, CIntPartId) 
    .Parameters.Append .CreateParameter("p_ManRef", adVarChar, adParamInput, 10, strManualRef) 
    .Execute 
End With 

此外,我測試了所有3個值,他們是不是空的。

謝謝。

回答

1

這是不正確的:

UPDATE parts_map SET manualref = 'p_ManRef' 
           ^--  ^-- 

引號把那 「場」 爲一個字符串。 - 您沒有比較兩個字段,而是將手動參數字段與其值恰好是您的存儲參數的名稱的字符串進行比較。

嘗試:

UPDATE parts_map SET manualref = @p_ManRef 
           ^--- variable/parameter indicator 
+0

您好我試過參數indiator,但我仍然沒有得到更新。我將用ASP部分編輯我的問題。 – JoJo

+0

我的不好,我沒有傳遞一個id值...對不起,我會給你答案,因爲我想使用變量/參數指標。 – JoJo

相關問題