没有返回输出值

时间:2016-05-05 14:04:39

标签: sql vb.net

****目标**:**只需根据存储过程搜索返回一个值,这是基于一个与数据网格一起使用的存储过程,但在这种情况下我只需要一个值。

****错误**:**没有返回任何内容!

注意:剥离版本

****代码**:**

.ASPX

 <asp:Label ID="lblLocationsOutput" runat="server" Text="--" CssClass="lblLocationsOutput" />

.ASPX.VB

 Dim connection As SqlConnection
        Dim command As New SqlCommand
        'Dim ds As New DataSet
        Dim ConnectionString As String = System.Configuration.ConfigurationManager.ConnectionStrings("mySQL").ToString()
        connection = New SqlConnection(ConnectionString)
        Dim vLocationNumber As Integer
        connection.Open()
        With command
            .Connection = connection
            .CommandText = "spSearchLocation" 'include audit names
            .CommandType = CommandType.StoredProcedure
            .Parameters.Clear()
            .Parameters.Add("@LocationsNumber", SqlDbType.Int)
            .Parameters("@LocationsNumber").Direction = ParameterDirection.Output
            .Parameters.AddWithValue("@sUPRN", sUPRN.Text & " ")                
            .ExecuteNonQuery()


            If .Parameters("@LocationsNumber").Value.ToString = "" Then
                vLocationNumber = "0"
            End If
        End With

        lblLocationsOutput.Text = vLocationNumber

存储过程:

USE DATABASE
GO      
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
ALTER PROCEDURE dbo.spSearchLocation

@sUPRN varchar(20),
-- Add the parameters for the stored procedure here
@LocationsNumber Int OUTPUT

AS
BEGIN

--Main SQL
DECLARE @SQLSTRING AS VARCHAR(MAX)


IF LTRIM(RTRIM(@sUPRN)) <> ''  
SET @SQLSTRING = @SQLSTRING + 'or UPRN LIKE ''%''' + QUOTENAME(LTRIM(RTRIM(@sUPRN))) + '''%'''


EXECUTE(@SQLSTRING)

END

SET @LocationsNumber = @SQLSTRING

查看引用,例如:enter link description here

希望是一个简单的错误。即使搜索只是说我知道的UPRN是正确的,也不起作用。

1 个答案:

答案 0 :(得分:0)

添加一个    存储过程结束时Select @LocationsNumber