【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了bjxxcx.pas相关资料,希望对各位网友有所帮助!
unit bjxxcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, Grids, DBGrids, DB;
type
TForm23 = class(TForm)
Panel1: TPanel;
CheckBox1: TCheckBox;
Label1: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
CheckBox2: TCheckBox;
Label2: TLabel;
DateTimePicker1: TDateTimePicker;
SpeedButton1: TSpeedButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Panel2: TPanel;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
DateTimePicker2: TDateTimePicker;
Label3: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form23: TForm23;
implementation
uses DataModal;
{$R *.dfm}
procedure TForm23.ComboBox1Change(Sender: TObject);
begin
ComboBox2.Clear;
with Data.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('Select distinct '+ Trim(ComboBox1.Text)+ ' From 日志记录表');
Open;
if Data.ADOQuery1.RecordCount>0 then
begin
while Not Eof do
begin
ComboBox2.Items.Add(Fields[0].Value);
Next;
end;
ComboBox2.ItemIndex := 0;
end;
end;
end;
procedure TForm23.SpeedButton1Click(Sender: TObject);
begin
CheckBox3.Checked := False;
if (Not CheckBox1.Checked)and(Not CheckBox2.Checked)and(Not CheckBox4.Checked)then
begin
with Data.ADOQuery2 do
begin
Close;
SQL.Clear;
SQL.Add('select 楼层名称 ,楼层,项目名称,设备数据 from 日志记录表 a inner join 楼层信息表 b on a.楼层编号 = b.楼层编号 and a.误报 = 0');
Open;
end;
if Data.ADOQuery2.RecordCount>0 then
DataSource1.DataSet := Data.ADOQuery2
else
begin
DataSource1.DataSet := Nil;
Application.MessageBox('没有符合条件的记录.','提示',64);
end;
end
else if(CheckBox1.Checked)and(Not CheckBox2.Checked)then
begin
with Data.ADOQuery2 do
begin
Close;
SQL.Clear;
if Trim(ComboBox2.Text)<>'' then
begin
if Not CheckBox4.Checked then
begin
SQL.Add('select 楼层名称 ,楼层,项目名称,设备数据 from 日志记录表 a inner join 楼层信息表 b on a.楼层编号 = b.楼层编号 and a.'+ComboBox1.Text + ' =:a and 误报 = 0');
Parameters.ParamByName('a').Value := Trim(ComboBox2.Text);
Open;
end
else
begin
SQL.Add('select 楼层名称 ,楼层,项目名称,设备数据 from 日志记录表 a inner join 楼层信息表 b on a.楼层编号 = b.楼层编号 and a.'+ComboBox1.Text + ' =:a and 误报 = 1');
Parameters.ParamByName('a').Value := Trim(ComboBox2.Text);
Open;
end;
if RecordCount>0 then
DataSource1.DataSet := Data.ADOQuery2
else
begin
DataSource1.DataSet := Nil;
Application.MessageBox('没有符合条件的记录.','提示',64);
end;
end;
end;
end
else if(Not CheckBox1.Checked)and(CheckBox2.Checked)then
begin
with Data.ADOQuery2 do
begin
Close;
SQL.Clear;
if Not CheckBox4.Checked then
begin
SQL.Add('select 楼层名称 ,楼层,项目名称,设备数据 from 日志记录表 a inner join 楼层信息表 b on a.楼层编号 = b.楼层编号 and a.时间 >= :a and a.时间<= :b and 误报 = 0');
Parameters.ParamByName('a').Value := Trunc(DateTimePicker1.DateTime-2);
Parameters.ParamByName('b').Value := Trunc(DateTimePicker2.DateTime-2)+1;
Open;
end
else
begin
SQL.Add('select 楼层名称 ,楼层,项目名称,设备数据 from 日志记录表 a inner join 楼层信息表 b on a.楼层编号 = b.楼层编号 and a.时间 >= :a and a.时间<= :b and 误报 = 1');
Parameters.ParamByName('a').Value := Trunc(DateTimePicker1.DateTime-2);
Parameters.ParamByName('b').Value := Trunc(DateTimePicker2.DateTime-2)+1;
Open;
end;
if RecordCount>0 then
DataSource1.DataSet := Data.ADOQuery2
else
begin
DataSource1.DataSet := Nil;
Application.MessageBox('没有符合条件的记录.','提示',64);
end;
end;
end
else if CheckBox4.Chec