VB.NET - 无法将参数值从字符串转换为 Guid 问题

2021-09-16 00:00:00 sql vb.net sql-server-2008 sql-server

我是 VB.NET 的新手.我可以从 SQL Server Management Studio 执行以下存储过程:

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

现在,我想从 VB.NET 执行存储过程.我正在编写这段代码,但它给了我错误无法将参数值从字符串转换为 Guid".这是失败的代码:

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

推荐答案

你的答案是

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

相关文章