delphi 中使用是的控件是Tadoconnection,TadoStoreproc,Tdatasource,Tdbgrid我设计的窗体在附件中.
下面是我的存储过程,我是动态创建过程参数的,可是车牌中输入值去得不到?
--固定车辆查询存储过程
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'procGudChe' or type = 'P')
DROP PROCEDURE procGudChe
GO
create proc procGudChe
@chep varchar(20)='',@chex varchar(20)='',@siji varchar(20)='',@yanse varchar(20)='',
@shenfz varchar(20)='',@banzy varchar(20)='',@rumg varchar(20)='',@chumg varchar(20)='',
@beginTime varchar(30)='',@endTime varchar(30)='',@yousq varchar(20)=''
as
declare @sql varchar(8000)
set @sql = ''
if @chep <>'' set @sql = @sql + 'chepai='''+@chep +''' or '
else set @sql = @sql + ''''
if @chex <>'' set @sql = @sql + 'chexing='''+@chex +''' or '
else set @sql = @sql + ''''
if @siji <>'' set @sql = @sql + 'siji='''+@siji +''' or '
else set @sql = @sql + ''''
if @yanse <>'' set @sql = @sql + 'yanse='''+@yanse +''' or '
else set @sql = @sql + ''''
if @shenfz <>'' set @sql = @sql + 'shenfz='''+@shenfz +''' or '
else set @sql = @sql + ''''
if @banzy <>'' set @sql = @sql + 'banzy='''+@banzy +''' or '
else set @sql = @sql +''''
if @rumg <>'' set @sql = @sql + 'jinmk='''+@rumg +''' or '
else set @sql = @sql + ''''
if @chumg <>'' set @sql = @sql + 'chumk='''+@chumg +''' or '
else set @sql = @sql + ''''
if @beginTime <>'' or @endTime <>''
set @sql=@sql + 'banzsj between '''+@beginTime +''' or '''+@endTime--+''' or '
else
begin
if @beginTime <>'' set @sql = @sql + 'banzsj='''+ @beginTime+''' or '--cast(@beginTime as datetime)
if @endTime <>'' set @sql = @sql + 'banzsj='''+@endTime+''' or '--cast(@endTime as datetime)
end
if @yousq <>''
begin
if substring(@yousq,1,1)='0' --在有效期0代表小于
set @sql = @sql + ' or youxsj<'''+ substring(@yousq,2,len(@yousq))+''' or '
if substring(@yousq,1,1)='1' --在有效期1代表等于
set @sql = @sql + ' or youxsj='''+ substring(@yousq,2,len(@yousq))+''' or '
if substring(@yousq,1,1)='2' --在有效期2代表大于
set @sql = @sql + ' or youxsj>'''+ substring(@yousq,2,len(@yousq))+''' or '
end
else set @sql = @sql + ''''
exec ('select * from Acheliang where '+ @sql + ' kaleix=''固定卡''')
下面是我的存储过程,我是动态创建过程参数的,可是车牌中输入值去得不到?
--固定车辆查询存储过程
IF EXISTS (SELECT name FROM sysobjects
WHERE name = 'procGudChe' or type = 'P')
DROP PROCEDURE procGudChe
GO
create proc procGudChe
@chep varchar(20)='',@chex varchar(20)='',@siji varchar(20)='',@yanse varchar(20)='',
@shenfz varchar(20)='',@banzy varchar(20)='',@rumg varchar(20)='',@chumg varchar(20)='',
@beginTime varchar(30)='',@endTime varchar(30)='',@yousq varchar(20)=''
as
declare @sql varchar(8000)
set @sql = ''
if @chep <>'' set @sql = @sql + 'chepai='''+@chep +''' or '
else set @sql = @sql + ''''
if @chex <>'' set @sql = @sql + 'chexing='''+@chex +''' or '
else set @sql = @sql + ''''
if @siji <>'' set @sql = @sql + 'siji='''+@siji +''' or '
else set @sql = @sql + ''''
if @yanse <>'' set @sql = @sql + 'yanse='''+@yanse +''' or '
else set @sql = @sql + ''''
if @shenfz <>'' set @sql = @sql + 'shenfz='''+@shenfz +''' or '
else set @sql = @sql + ''''
if @banzy <>'' set @sql = @sql + 'banzy='''+@banzy +''' or '
else set @sql = @sql +''''
if @rumg <>'' set @sql = @sql + 'jinmk='''+@rumg +''' or '
else set @sql = @sql + ''''
if @chumg <>'' set @sql = @sql + 'chumk='''+@chumg +''' or '
else set @sql = @sql + ''''
if @beginTime <>'' or @endTime <>''
set @sql=@sql + 'banzsj between '''+@beginTime +''' or '''+@endTime--+''' or '
else
begin
if @beginTime <>'' set @sql = @sql + 'banzsj='''+ @beginTime+''' or '--cast(@beginTime as datetime)
if @endTime <>'' set @sql = @sql + 'banzsj='''+@endTime+''' or '--cast(@endTime as datetime)
end
if @yousq <>''
begin
if substring(@yousq,1,1)='0' --在有效期0代表小于
set @sql = @sql + ' or youxsj<'''+ substring(@yousq,2,len(@yousq))+''' or '
if substring(@yousq,1,1)='1' --在有效期1代表等于
set @sql = @sql + ' or youxsj='''+ substring(@yousq,2,len(@yousq))+''' or '
if substring(@yousq,1,1)='2' --在有效期2代表大于
set @sql = @sql + ' or youxsj>'''+ substring(@yousq,2,len(@yousq))+''' or '
end
else set @sql = @sql + ''''
exec ('select * from Acheliang where '+ @sql + ' kaleix=''固定卡''')
解决方案 »
- Chat with COM Technology
- 用户提出“将大象放进冰箱“要求 怎么办?讨论一公司管理、客户需求、程序员工作的关系。
- FastReport 3 请大哥帮忙~
- 紧急求助!在Delphi里如何建立一张Oracle临时表,并把查询所得结果插入呢?
- 大四学生朋友过来阿!
- 如何将rave文件加入资源文件(*.res)?急!
- 怎样遍历TActionManager中的TAction ?
- 100分紧急求教关于 TClass 的问题。
- 一个关于form的问题,请进来看看!
- 如何删除控制台程序中输出的字符???
- 怎样仅由一个角x的sin(x)值和cos(x)值推算出这个角的arccos(x)的值呀
- DELPHI 制作视频问题
看看SQL 语句是否正常