帮忙看下这个存储过程,急!!
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Pr_GetList ' AND type = 'P ')
DROP PROCEDURE Pr_GetList
GO
CREATE PROCEDURE Pr_GetList
(
@iMode char(10),
@TbName nvarchar(15),
@iFiled nvarchar(20),
@sWhere nvarchar(20)
)
AS
begin
declare @sql varchar(100)
if @iMode= '1 '
if @sWhere!= ' '
@sql= 'Select DISTINCT ' + @iFiled + ' from '+ @TbName + 'where ' +@sWhere+ ' order by '+@iFiled
else
@sql= 'Select DISTINCT ' + @iFiled + ' from ' + @TbName
else
if @sWhere!= ' '
@sql= 'Select * from ' + TableName + 'where ' +@sWhere+ ' order by '+@iFiled
else
@sql= 'Select * from ' + TableName
execute @sql
GO
怎么老是说:
服务器: 消息 170,级别 15,状态 1,过程 Pr_GetList,行 13
第 13 行: '@sql ' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,过程 Pr_GetList,行 18
第 18 行: '@sql ' 附近有语法错误。
[解决办法]
if @sWhere!= ' '
set @sql= 'Select DISTINCT ' + @iFiled + ' from '+ @TbName + 'where ' +@sWhere+ ' order by '+@iFiled
[解决办法]
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Pr_GetList ' AND type = 'P ') DROP PROCEDURE Pr_GetList GO CREATE PROCEDURE Pr_GetList ( @iMode char(10), @TbName nvarchar(15), @iFiled nvarchar(20), @sWhere nvarchar(20) ) AS begin declare @sql varchar(100) if @iMode= '1 ' begin if @sWhere!= ' ' set @sql= 'Select DISTINCT ' + @iFiled + ' from '+ @TbName + 'where ' +@sWhere+ ' order by '+@iFiled else set @sql= 'Select DISTINCT ' + @iFiled + ' from ' + @TbName end else begin if @sWhere!= ' ' set @sql= 'Select * from ' + TableName + 'where ' +@sWhere+ ' order by '+@iFiled else set @sql= 'Select * from ' + TableName end exec(@sql)end
[解决办法]
IF EXISTS (SELECT name FROM sysobjects WHERE name = 'Pr_GetList ' AND type = 'P ') DROP PROCEDURE Pr_GetList GO CREATE PROCEDURE Pr_GetList ( @iMode char(10), @TbName nvarchar(15), @iFiled nvarchar(20), @sWhere nvarchar(20) ) AS begin declare @sql varchar(100) if @iMode= '1 ' if @sWhere!= ' ' [color=#FF0000]set [/color]@sql= 'Select DISTINCT ' + @iFiled + ' from '+ @TbName + [color=#FF0000]' where '[/color] +@sWhere+ ' order by '+@iFiled else [color=#FF0000]set [/color]@sql= 'Select DISTINCT ' + @iFiled + ' from ' + @TbName else if @sWhere!= ' ' [color=#FF0000]set [/color]@sql= 'Select * from ' + TableName + [color=#FF0000]' where [/color]' +@sWhere+ ' order by '+@iFiled else [color=#FF0000]set [/color]@sql= 'Select * from ' + TableName execute @sql 对照红色部分改下再试试