2012-11-17 52 views
1

我是VB.NET的新手。我可以從SQL Server Management Studio執行以下存儲過程:VB.NET - 無法將參數值從字符串轉換爲Guid問題

Declare @iResult int 
Declare @sMessage VarChar(100) 

Exec [WebSite].[vwWebCustomerPasswordUpdate] 'BF49F8B8-B580-4714-85F5-D87E4901009E', 'EF80AF910FA07870E25B1A4C86D10402', @iResult output, @sMessage output 

Print @iResult 
Print @sMessage 

現在,我想從VB.NET執行存儲過程。我正在編寫此代碼,但它給了我錯誤「無法將參數值從字符串轉換爲Guid」。這裏是一個的失敗代碼:

Dim ssql As String 
ssql = " Declare @iResult int Declare @sMessage VarChar(100) Exec [WebSite].[vwWebCustomerPasswordUpdate] 'BF49F8B8-B580-4714-85F5-D87E4901009E', 'EF80AF910FA07870E25B1A4C86D10402', @iResult output, @sMessage output" 

Dim connection As New SqlConnection(connectionString) 
connection.Open() 

Dim Command As New SqlCommand(ssql, connection) 
Command.CommandType = CommandType.StoredProcedure 
Command.CommandText = "[WebSite].[vwWebCustomerPasswordUpdate]" 
Command.Parameters.Add("@CustGUID", SqlDbType.UniqueIdentifier) 
Command.Parameters("@CustGUID").Value = "BF49F8B8-B580-4714-85F5-D87E4901009E" 
Command.Parameters.Add("@pWordHash", SqlDbType.VarChar) 
Command.Parameters("@pWordHash").Value = "BF49F8B8-B580-4714-85F5-D87E4901009E" 

Command.BeginExecuteNonQuery() 
+1

請過顯示完整的錯誤。 –

+0

這是錯誤無法將參數值從字符串轉換爲Guid。 –

+0

你正在調用你的存儲過程'vw .....' - 這似乎違反了*最小驚喜原則* - 任何看起來'vw'的人都會認爲它是**視圖** ... –

回答

1

變化

Command.Parameters("@CustGUID").Value = 
     "BF49F8B8-B580-4714-85F5-D87E4901009E" 

Command.Parameters("@CustGUID").Value = 
    New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E"); 
3

你的答案是

Command.Parameters("@CustGUID").Value = New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E") 
+0

如果回答請打勾。謝謝 – MVCKarl

相關問題