-1
我有這個程序stored procedure
:問題運行存儲從.NET
CREATE PROCEDURE [dbo].[GetTransactionFeeType_Pager]
@PageIndex INT = 1
,@PageSize INT = 10
,@ProgramName VARCHAR = ''
,@RecordCount INT OUTPUT
AS
BEGIN
SET NOCOUNT ON;
SELECT ROW_NUMBER() OVER
(
ORDER BY ID ASC
)AS RowNumber
,FeeType,TransactionNumber,Amount,TransactionDate,ResponseDescription,PaidUsing
INTO #Results
FROM TransactionLog where [email protected]
SELECT @RecordCount = COUNT(*)
FROM #Results
SELECT * FROM #Results
WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1
DROP TABLE #Results
END
基本上它返回分頁......
現在從SQL服務器上運行,並傳遞參數當上述運行良好;
1 , 10 , Deposit
但是用下面的代碼:
string query = "[GetTransactionFeeType_Pager]";
SqlCommand cmd = new SqlCommand(query);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
cmd.Parameters.AddWithValue("@PageSize", PageSize);
cmd.Parameters.AddWithValue("@ProgramName", programID.ToString());
cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4).Direction =
ParameterDirection.Output;
哪些是相同SQL SERVER; 1,10,存款 ,但它沒有返回結果/空結果。特蘭我相信它昨天工作正常,所以沒有線索怎麼回事...
有什麼建議嗎?
的如何執行該命令的長度是多少?你如何讀取輸出參數的值?這在上面的代碼中缺少。 – Steve
該部分的代碼工作正常,因爲它爲其他類似的過程,其中我不必使用programName ... – confusedMind
我的主要關注是我正確處理字符串作爲ProgramName將是一個字符串,如果我使用ID它工作正常.. – confusedMind