-1

我正在使用这个功能:

Private Sub Trigger_sales(HIden As Guid)
        Dim connection As New SqlConnection(connectionString)
        connection.Open()
        Dim Command As New SqlCommand()
        Command.Connection = connection
        Command.CommandType = CommandType.StoredProcedure
        Command.CommandText = "[WebSite].[ValidateWebTran]"
        Command.Parameters.Add("@UidWenTranGUID", SqlDbType.UniqueIdentifier)
        Command.Parameters("@UidWenTranGUID").Value = HIden
        Command.Parameters.Add("@sResultDesc", SqlDbType.VarChar)
        Command.Parameters("@sResultDesc").Direction = ParameterDirection.Output
        Command.ExecuteScalar()
        If (String.IsNullOrEmpty(error_process.text = Command.Parameters("@sResultDesc").Value.ToString)) Then
            complete_sales(HIden)
        End If
    End Sub

导致此错误:

String[1]:Size 属性的大小为 0 无效。

谁能看到我做错了什么?

4

2 回答 2

3

尝试:

Command.Parameters.Add("@sResultDesc", SqlDbType.VarChar, 255)

(替换255为任何参数类型@sResultDesc。如果是MAX使用-1。)

于 2013-01-28T20:13:02.727 回答
0

我认为是这一行:

Command.Parameters.Add("@sResultDesc", SqlDbType.VarChar)

你实际上并没有在那里设置 Param 的值,它应该看起来像

Command.Parameters.Add("@sResultDesc", SqlDbType.VarChar).Value = 'myValue

就像我说的,这是您的存储过程的哪一部分抛出异常的猜测

于 2013-01-28T19:21:09.503 回答