首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

小白,求解不知道哪错了解决方法

2013-07-01 
小白,求解不知道哪错了USE [BankMan]GO/****** Object:StoredProcedure [dbo].[_PageQuerys1]Script Date:

小白,求解不知道哪错了

USE [BankMan]
GO
/****** Object:  StoredProcedure [dbo].[_PageQuerys1]    Script Date: 05/05/2013 14:09:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER Proc [dbo].[_PageQuerys1]
@PageIndex int, --当前第几页
@PageSize int,  --每页行数
@Name nvarchar(31), --用户
@Number nvarchar(31),--银行卡号
@AccountType int, --卡类别 1、个人 2、企业
@BankName nvarchar(63),  --银行名称
@OrderValue varchar(100) --排序字段
as
declare
@StrSql varchar(3000),   --主查询语句
@WhereSql varchar(3000)
begin
  if @Name is not null or @Name<>''
begin
set @WhereSql=N' and a.Name='''+@Name+''''
end
 if @Number is not null or @Number<>''
begin
set @WhereSql=@WhereSql+N' and a.Number='''+@Number+''''
end
print @AccountType
if @AccountType<>0
begin
set @WhereSql=@WhereSql+' and a.AccountType='+@AccountType
end
 if @BankName  is not null or @BankName <>''
begin
set @WhereSql=@WhereSql+N' and b.BankName='''+@BankName+''''
end
if @WhereSql is null or @WhereSql=''
begin
set @WhereSql=''
end
set @StrSql=N'select abc.* from
(select  ROW_NUMBER() over (order by ab.[AccountId] desc ) as rowid,ab.* from  
(select a.[AccountId], b.BankName,b.Logo,a.[Name],a.[Number],a.[LastUpdateTime],
a.[MaximumLimit],a.[Current],a.[Detail],a.[CreateTime],
(case a.[Type] when 1 then ''个人'' else ''企业'' end) as AccountType ,  
a.Level,(case a.[State] when 1 then ''生效'' when 2 then ''冻结'' else ''注销'' end) as AccountState
from BankAccounts as a,Banks as b
where a.[BankID]=b.[BankID] '+@WhereSql+')ab)abc 
where abc.rowid>'+convert(nvarchar(50),(@PageIndex - 1) * @PageSize)+'  
and abc.rowid<='+convert(nvarchar(50),(@PageIndex * @PageSize))+' '
--if @OrderValue  is not null or @OrderValue <>''
--begin 
--set @StrSql=@StrSql+' order by '+@OrderValue
--end
--else
--begin
--set @StrSql=@StrSql+N' order by abc.LastUpdateTime'
--end
exec (@StrSql)
    print @StrSql
end



[解决办法]
那你先找到你那个“”是哪个参数,然后到你代码中看这个参数对空字符串的处理是否不合理。
[解决办法]
当你的那个参数为""是,你看一下print 出来的sql语句是你预期的sql吗?

热点排行