【发布时间】:2011-08-03 20:29:49
【问题描述】:
此解决方案适用于无限的Gridview 分页,并且此查询的语法存在问题:
> @currTable varchar(20),
@startRowIndex int,
@maximumRows int,
@totalRows int OUTPUT
AS
DECLARE @first_id int, @startRow int
IF @startRowIndex = 1
SET @startRowIndex = 1
ELSE
SET @startRowIndex = ((@startRowIndex - 1) * @maximumRows)+1
SET ROWCOUNT @startRowIndex
DECLARE @sql varchar(250);
SET @sql = 'SELECT ID, StringID_from_Master, GUID, short_Text, lang_String, date_Changed, prev_LangString, needsTranslation, displayRecord, brief_Descrip FROM ' + @currTable + ' ';
EXECUTE(@sql);
PRINT @first_id
SET ROWCOUNT @maximumRows
SELECT @sql = 'SELECT ' + CAST(@first_id as varchar(20)) + ' = ID FROM ' + QUOTENAME(@currTable) + ' ORDER BY ID ' ;
EXEC (@sql);
SET ROWCOUNT 0
-- Get the total rows
SET @sql = 'SELECT ' + + CAST(@totalRowsas varchar(20)) + ' = COUNT(ID) FROM ' + @currTable + ' ';
EXECUTE(@sql);
RETURN
错误是:
将 varchar 值“SELECT”转换为数据类型 int 时转换失败。
也试过了
nvarchar and varchar. = + CAST(@first_id as varchar(10)) +
【问题讨论】:
标签: sql-server tsql sql-server-2008 sql-server-express