MSSQL2005 Storage Process Page 및 C# 호출
- Create PROCEDURE [dbo].[PROCE_SQL2005PAGECHANGE]
- (
- @TableName varchar(50), --
- @ReFieldsStr varchar(200) = '*', -- ( *)
- @OrderString varchar(200), -- ( ! order by)
- @WhereString varchar(500) =N'', -- ( where)
- @PageSize int, --
- @PageIndex int = 1 , --
- @TotalRecord int output --
- )
- AS
-
- BEGIN
-
- --
- Declare @StartRecord int;
- Declare @EndRecord int;
- Declare @TotalCountSql nvarchar(500);
- Declare @SqlString nvarchar(2000);
- set @StartRecord = (@PageIndex-1)*@PageSize + 1
- set @EndRecord = @StartRecord + @PageSize - 1
- SET @TotalCountSql= N'select @TotalRecord = count(*) from ' + @TableName;--
- SET @SqlString = N'(select row_number() over (order by '+ @OrderString +') as rowId,'+@ReFieldsStr+' from '+ @TableName;--
- --
- IF (@WhereString! = '' or @WhereString!=null)
- BEGIN
- SET @TotalCountSql=@TotalCountSql + ' where '+ @WhereString;
- SET @SqlString =@SqlString+ ' where '+ @WhereString;
- END
- --
- --IF(@TotalRecord is null)
- -- BEGIN
- EXEC sp_executesql @totalCountSql,N'@TotalRecord int out',@TotalRecord output;--
- -- END
- ----
- set @SqlString ='select * from ' + @SqlString + ') as t where rowId between ' + ltrim(str(@StartRecord)) + ' and ' + ltrim(str(@EndRecord));
- Exec(@SqlString)
- END
C#
- private static readonly string ConnString = "";//
-
- /// <summary>
- ///
- /// </summary>
- /// <param name="TableName"> </param>
- /// <param name="ReFieldsStr"> ( *)</param>
- /// <param name="OrderString"> ( ! order by)</param>
- /// <param name="WhereString"> ( where)</param>
- /// <param name="index"> </param>
- /// <param name="pagesize"> </param>
- /// <param name="pg"> </param>
- /// <returns></returns>
- public static DataSet Select_Certificate(string TableName, string ReFieldsStr, string OrderString, string WhereString, int index, int pagesize, ref int pg)
- {
- int i = 0;
- SqlConnection sqlCon = new SqlConnection(ConnString);
- SqlDataAdapter da = new SqlDataAdapter("PAGECHANGE", sqlCon);
- SqlParameter para0 = new SqlParameter("@TableName", TableName);
- SqlParameter para1 = new SqlParameter("@ReFieldsStr", ReFieldsStr);
- SqlParameter para2 = new SqlParameter("@OrderString", OrderString);
- SqlParameter para3 = new SqlParameter("@WhereString", WhereString);
- SqlParameter para4 = new SqlParameter("@PageSize", pagesize);
- SqlParameter para5 = new SqlParameter("@PageIndex", index);
- SqlParameter outputpara = new SqlParameter("@TotalRecord", SqlDbType.Int);
- outputpara.Direction = ParameterDirection.Output;
- da.SelectCommand.Parameters.Add(para0);
- da.SelectCommand.Parameters.Add(para1);
- da.SelectCommand.Parameters.Add(para2);
- da.SelectCommand.Parameters.Add(para3);
- da.SelectCommand.Parameters.Add(para4);
- da.SelectCommand.Parameters.Add(para5);
- da.SelectCommand.Parameters.Add(outputpara);
- da.SelectCommand.CommandType = CommandType.StoredProcedure;
- DataSet ds = new DataSet();
- try
- {
- sqlCon.Open();
- da.Fill(ds);
- i = Convert.ToInt32(outputpara.Value);
- if (i % pagesize > 0)
- {
- pg = i / pagesize + 1;
- }
- else
- {
- pg = i / pagesize;
- }
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message, ex);
- }
- finally
- {
- sqlCon.Close();
- sqlCon.Dispose();
- }
- return ds;
- }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.