CREATE PROCEDURE GetBoardTitle(
@boardid int,
@result varchar(100) output
)
as
declare @boardtitle1 varchar(20)select @boardtitle1 = boardtitle from board where boardid = @boardidselect @result = @boardtitle1
GO怎么接收参数?我用ExecutenonQuery()得到-1,用ExecuteScalar说我参数不对.

解决方案 »

  1.   

    CREATE PROCEDURE GetBoardTitle(
    @boardid int,
    @result varchar(100) output
    )
    as
    declare @boardtitle1 varchar(20)select @boardtitle1 = boardtitle from board where boardid = @boardidset @result = @boardtitle1
    GO
      

  2.   

    Dim cmd As SqlClient.SqlCommand            cmd = pobjCommon.SQLCommand            With cmd
                    .CommandType = CommandType.StoredProcedure
                    .CommandText = "spname"
                    With cmd.Parameters                     .Add("@pMaxWorkPieceNo", SqlDbType.VarChar, 16).Value = mMaxWorkPieceNo
                        .Add("@stat_return", SqlDbType.Int).Direction = ParameterDirection.Output
                    End With
                    cmd.ExecuteNonQuery() '
                    s = CType(cmd.Parameters("@stat_return").Value, String)
                    cmd.Parameters.Clear()
                    cmd.CommandType = CommandType.Text
                End With            If s = "9" Then MsgBox("已经有此条记录!", MsgBoxStyle.Exclamation, "注意")
      

  3.   

    SqlDataReader dr;
    dr=cmd.ExecuteReader()
    if(dr.Read)
    {
    Response.write(dr["@result "])
    }
      

  4.   

    或者存储过程写成的参数写为OUTPUT方式
      

  5.   

    或者最后一句直接用select  @boardtitle1 就算了,然后用dataset或者datareader来获取这个值