27,579
社区成员
发帖
与我相关
我的任务
分享
create proc Pro_select_jkd
@djh nvarchar(20),
@zdr nvarchar(30),
@dltb bit,
@bmid int,
@jkrydm nvarchar(30),
@jkje decimal(18,2),
@jkrq datetime,
@dqrq datetime,
@yt nvarchar(500)
as
declare @SqlS nvarchar(500)
set @SqlS='select * from Wl_Jkd where 1=1'
if isnull(@djh,'') != ''
set @SqlS+=' and djh='''+@djh+''''
if isnull(@zdr,'') != ''
set @SqlS+=' and zdr='''+@zdr+''''
if @dltb is not null
set @SqlS+=' and dltb='''+ltrim(@dltb)+''''
if @bmid>0
set @SqlS+=' and bmid='+ltrim(@bmid)
if ISNULL(@jkrydm,'')!=''
set @SqlS+=' and jkrydm='''+@jkrydm+''''
if @jkje>0
set @SqlS+=' and jkje='+ltrim(@jkje)
if ISNULL(@jkrq,'')!=''
set @SqlS+=' and jkrq='''+convert(varchar,@jkrq,120)+''''
if ISNULL(@dqrq,'')!=''
set @SqlS+=' and dqrq='''+convert(varchar,@dqrq,120)+''''
if ISNULL(@yt,'')!=''
set @SqlS+=' and yt='''+@yt+''''
execute(@SqlS)
GO
再试一下create proc Pro_select_jkd
@djh nvarchar(20),
@zdr nvarchar(30),
@dltb bit,
@bmid int,
@jkrydm nvarchar(30),
@jkje decimal(18,2),
@jkrq datetime,
@dqrq datetime,
@yt nvarchar(500)
as
declare @SqlS nvarchar(500)
set @SqlS='select * from Wl_Jkd where 1=1'
if isnull(@djh,'') != ''
set @SqlS+=' and djh='''+@djh+''''
if isnull(@zdr,'') != ''
set @SqlS+=' and zdr='''+@zdr+''''
if @dltb != null
set @SqlS+=' and dltb='''+ltrim(@dltb)+''''
if @bmid>0
set @SqlS+=' and bmid='+ltrim(@bmid)
if ISNULL(@jkrydm,'')!=''
set @SqlS+=' and jkrydm='''+@jkrydm+''''
if @jkje>0
set @SqlS+=' and jkje='+ltrim(@jkje)
if ISNULL(@jkrq,'')!=''
set @SqlS+=' and jkrq='''+convert(varchar,@jkrq,120)+''''
if ISNULL(@dqrq,'')!=''
set @SqlS+=' and dqrq='''+convert(varchar,@dqrq,120)+''''
if ISNULL(@yt,'')!=''
set @SqlS+=' and yt='''+@yt+''''
execute(@SqlS)
GO
改了不少,先试试,有提示再贴出来