请告诉小生以下条件语句怎样设置条件(已经知道了),DBGridEh2怎样让他只显示25行,主要是让PrintDBGridEh1能每页打印25行记录 (50分)

  • 主题发起人 主题发起人 zjycpic
  • 开始时间 开始时间
Z

zjycpic

Unregistered / Unconfirmed
GUEST, unregistred user!
以下语句怎样设置条件
if (maskedit4.Text<>'') then
begin
query2.SQL.Add(' and date between '''+maskedit4.Text +'''');
query2.SQL.Add(' and '''+maskedit5.Text+'''');
end;
问题是maskedit4设置了日期格式属性,已经不能为空了
我应该怎样写条件语句




DBGridEh2怎样让他只显示25行,主要是让PrintDBGridEh1能每页打印25行记录
 
有多种方法,其一,既然是日期格式,先定义一个函数检查maskedit4的值是否是日期格式
的,如果是,则条件成立:
function IsDate(DateText:string):boolean;
begin
try
strtodate(DateText);
result:=true;
except
result:=false;
end;
end;

///调用
if IsDate(maskedit4.text) then
......
 
既然是日期的推荐使用
TDateTimePicker
 
完整的代码如下!请指正
procedure TForm1.Button4Click(Sender: TObject);
begin
query2.SQL.Clear ;
query2.SQL.Add('select dealerno,deptno,cano,begno,chkdate,chkreason,freenum from cupock ');
query2.SQL.Add(' where deptno like"WULC010%"');
if (maskedit6.Text<>'') then
begin
query2.SQL.Add(' and begno between '''+maskedit6.Text +'''');
query2.SQL.Add(' and '''+maskedit7.Text +'''');
end;
if (maskedit4.Text<>'') then
begin
query2.SQL.Add(' and date between '''+maskedit4.Text +'''');
query2.SQL.Add(' and '''+maskedit5.Text+'''');
end;
if he_status.ItemIndex=0 then
begin
query2.SQL.Add(' and chkdate is null');
end;
if he_status.ItemIndex=1 then
begin
query2.SQL.Add(' and chkdate not is null');
end;
try
query2.Prepare ;
query2.Open ;
except
showmessage('格式不对');
END;
 
一个笨办法:
var
dt: TDateTime;
begin
try
dt := strtodatetime(maskedit4.text); // 如果不是合法的日期下面的代码就不会执行而跳到except后面了
with query2.sql do
begin
add('and date between '''+formatdatetime('yyyy/mm/dd', dt)+''''); // 抱歉这里没有直接用maskedit4.text, 因为直接用maskedit4的话 dt := strtodatetime(....);就会被编译器优化掉而不生成执行代码, 这样不关maskedit4里是不是合法的日期都会运行进来
Add(' and '''+maskedit5.Text+'''');
end;
except
end;
end;
 
谢谢大家的帮助!不过我已经知道非常简单的办法了,那就是设置maskedit的属性就可办到!
顺便在请教一下!
DBGridEh2怎样让他只显示25行,主要是让PrintDBGridEh1能每页打印25行记录
 
采用临时表试过没有?
 
前提是不用任何临时表!看来我只能设置字体来办到了!大家就没有好的办法了吗?
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
618
import
I
后退
顶部