我是VB.NET的新手。我可以从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”。这是失败的代码:
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()
答案 0 :(得分:3)
你的答案是
Command.Parameters("@CustGUID").Value = New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E")
答案 1 :(得分:1)
更改
Command.Parameters("@CustGUID").Value =
"BF49F8B8-B580-4714-85F5-D87E4901009E"
到
Command.Parameters("@CustGUID").Value =
New Guid("BF49F8B8-B580-4714-85F5-D87E4901009E");