resident
دوشنبه 26 خرداد 1393, 08:23 صبح
سلام. وقت بخیر
من یه SP دارم و میخوام مقدار پارامتر output شو تو C# بخونم.
کدهای زیر رو نوشتم:
protected ObjectParameter GetTotalRecordsCountObjectParameter()
{
return new ObjectParameter("TotalRowsCount", typeof(int));
}
public int CountRecords(string condition,int userId)
{
var recordsCount = GetTotalRecordsCountObjectParameter();
var errorNumber = GetErrorNumberObjectParameter();
GetContext().TotalRowsWithFiltering(GetPrimaryKeyN ame(),GetViewName(),condition,userId, recordsCount, errorNumber);
var errorCode = (int)errorNumber.Value;
if (errorCode != 0)
{
throw ExceptionManager.GetException(errorCode);
}
return (int)recordsCount.Value;
}
اینم SP ام:
create Procedure [general].[TotalRowsWithFiltering]
@ColumnName nvarchar(100),
@viewName nvarchar(100),
@Condition nvarchar(max),
@UserID int ,
@TotalRowsCount int output,
@ErrorNumber int output
as
begin
SET NOCOUNT ON;
Begin Try
if (@Condition is null or @Condition='')
set @Condition='1=1'
DECLARE @ParameterList NVARCHAR(500),@SQLQuery nvarchar(max)
SET @ParameterList = '@TotalRowsReturned INT OUTPUT'
set @SQLQuery='select @TotalRowsReturned=Count('+@ColumnName+') from '+@viewName+' where ' + @Condition
EXECUTE sp_executesql @SQLQuery, @ParameterList, @TotalRowsCount OUTPUT
Set @ErrorNumber=0
End Try
Begin Catch
exec [system].[ErrorLogInsert] '[system].[TotalRecordsWithFiltering]','',@UserID,@ErrorNumber out
set @TotalRowsCount=0
End Catch
End
SP مو که اجرا می کنم پارامتر @TotalRowsCount مقدار داره اما تو برنامه ، مقدارش null است. مشکل کجاست؟
من یه SP دارم و میخوام مقدار پارامتر output شو تو C# بخونم.
کدهای زیر رو نوشتم:
protected ObjectParameter GetTotalRecordsCountObjectParameter()
{
return new ObjectParameter("TotalRowsCount", typeof(int));
}
public int CountRecords(string condition,int userId)
{
var recordsCount = GetTotalRecordsCountObjectParameter();
var errorNumber = GetErrorNumberObjectParameter();
GetContext().TotalRowsWithFiltering(GetPrimaryKeyN ame(),GetViewName(),condition,userId, recordsCount, errorNumber);
var errorCode = (int)errorNumber.Value;
if (errorCode != 0)
{
throw ExceptionManager.GetException(errorCode);
}
return (int)recordsCount.Value;
}
اینم SP ام:
create Procedure [general].[TotalRowsWithFiltering]
@ColumnName nvarchar(100),
@viewName nvarchar(100),
@Condition nvarchar(max),
@UserID int ,
@TotalRowsCount int output,
@ErrorNumber int output
as
begin
SET NOCOUNT ON;
Begin Try
if (@Condition is null or @Condition='')
set @Condition='1=1'
DECLARE @ParameterList NVARCHAR(500),@SQLQuery nvarchar(max)
SET @ParameterList = '@TotalRowsReturned INT OUTPUT'
set @SQLQuery='select @TotalRowsReturned=Count('+@ColumnName+') from '+@viewName+' where ' + @Condition
EXECUTE sp_executesql @SQLQuery, @ParameterList, @TotalRowsCount OUTPUT
Set @ErrorNumber=0
End Try
Begin Catch
exec [system].[ErrorLogInsert] '[system].[TotalRecordsWithFiltering]','',@UserID,@ErrorNumber out
set @TotalRowsCount=0
End Catch
End
SP مو که اجرا می کنم پارامتر @TotalRowsCount مقدار داره اما تو برنامه ، مقدارش null است. مشکل کجاست؟