VB.NET - Failed to convert parameter value from a

2019-08-03 11:34发布

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

2条回答
Viruses.
2楼-- · 2019-08-03 12:01

Your answer is

Command.Parameters("@CustGUID").Value = New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E")
查看更多
地球回转人心会变
3楼-- · 2019-08-03 12:04

change

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

to

Command.Parameters("@CustGUID").Value = 
     New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E");
查看更多
登录 后发表回答