输出两个参数的存储过程如何调用这两个参数呢??
CREATE PROCEDURE [dbo].[sw_GetAd]
@CpID int,
@AdID int=0 OUTPUT
@AdUrl varchar(200) ='' OUTPUT
AS
SET NOCOUNT ON
DECLARE @AdID_S int
DECLARE @AdUrl_S varchar(200)
SELECT @AdUrl_S=AdUrl,@AdID_S=AdID FROM Sw_Cp_Ad
WHERE CpID=@CpID AND AdType='收费' AND Fettle='正常' AND DateDiff(d,GetDate(),EndDay)>=0
IF @AdUrl_S IS null
BEGIN
SELECT @AdUrl_S=AdUrl,@AdID_S=AdID FROM Sw_Cp_Ad
WHERE CpID=@CpID AND Fettle='正常' AND AdType='免费' ORDER BY ID DESC
END
IF @AdUrl_S IS null
BEGIN
SET @AdUrl_S='-1'
END
SET @AdUrl=@AdUrl_S
SET @AdID=@AdID_S
RETURN
GO
public string Cp_GetAd(int CpID )
{
int rowsAffected;
SqlParameter[] parameters =
{
new SqlParameter( "@CpID",SqlDbType.Int,4 ),
new SqlParameter( "@AdID",SqlDbType.Int,4 ),
new SqlParameter( "@AdUrl",SqlDbType.VarChar,200 )
};
parameters[0].Value = CpID;
parameters[1].Direction =ParameterDirection.Output;(这里不知道怎么写?)
parameters[1].Direction = ParameterDirection.Output;(这里不知道怎么写?)
RunProcedure("sw_GetAd", parameters, out rowsAffected);
int AdID = (int)parameters[1].Value;
string AdUrl = (string)parameters[2].Value;
return AdUrl;
return AdID;
Connection.Close();
}
CpID = Convert.ToInt32(Request.QueryString["CpID"].Trim());
Cp_GetAdUrl GetAdUrl = new Cp_GetAdUrl();
string Flag = GetAdUrl.Cp_GetAd(CpID);
try
{
if (Flag == "-1")
{
Response.End();
return;
}
else if(Flag.Length>2)
{
//Response.Write(Flag);
//int AdID = 0;
//AdID = Convert.ToInt32(Flag);
//AddLogs(AdID,CpID);
Response.Redirect(Flag);
Response.End();
return;
}
}
catch (Exception ex)
{
Response.Write(ex.Message);
Response.End();
return;
}
我用C#调用不到返回值!!