1

I am new to VB.NET. I can execute the following stored procedure from SQL Server Management Studio:

Declare @iResult int
Declare @sMessage VarChar(100)

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

Print @iResult
Print @sMessage

Now, I want to execute the stored procedure from VB.NET. I am writing this code, but it gives me the error "Failed to convert parameter value from a String to a Guid". Here's the code that's failing:

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()
4

2 回答 2

3

你的答案是

Command.Parameters("@CustGUID").Value = New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E")
于 2012-11-17T08:39:25.437 回答
1

change

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

to

Command.Parameters("@CustGUID").Value = 
     New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E");
于 2012-11-17T08:36:52.283 回答