📄 bddgl.pas
字号:
unit bddgl;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Menus, DB, DBTables, ExtCtrls, Buttons;
type
Tbddgl_Form = class(TForm)
Query1: TQuery;
DataSource1: TDataSource;
PopupMenu1: TPopupMenu;
DBGrid1: TDBGrid;
N1: TMenuItem;
GroupBox1: TGroupBox;
Label1: TLabel;
xm_LEdit: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure N1Click(Sender: TObject);
procedure DBGrid1DrawColunmnCell(sender:TObject;const Rect:TRect;DataCol:Integer;
Column:TColumn;State:TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender:TObject;var Action:TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
bddgl_Form: Tbddgl_Form;
implementation
uses main;
{$R *.dfm}
///////////////////////////////////////////////
procedure Tbddgl_Form.N1Click(Sender: TObject);
var xh,sqlstr:string;
begin
if Query1.FieldByName('状态').AsInteger=0 then
begin
xh:=Query1.FieldByName('学号').AsString;
sqlstr:='update [xsb] set 状态=1 where(学号='''+xh+''') ';
with TQuery.Create(nil) do
begin
try
SessionName:=Main_Form.Database1.SessionName;
DatabaseName:=Main_Form.Database1.DatabaseName;
SQl.Clear;
SQl.Add(sqlstr);
ExecSQl;
finally
Free;
end;
end;
end
else
begin
ShowMessage('该同学已经报到!');
exit;
end;
BitBtn1.Click;//刷新界面
end;
////////////////////////////////////////////////////////////////
procedure Tbddgl_Form.DBGrid1DrawColunmnCell(sender: TObject;const Rect:TRect;DataCol:Integer;
Column:TColumn;State:TGridDrawState);
begin
if
gdSelected in state then Exit;
case Query1.FieldByName('状态').AsInteger of
0:(sender as TDBGrid).Canvas.Brush.Color:=clWindow;
1:(sender as TDBGrid).Canvas.Brush.Color:=clYellow;
2:(sender as TDBGrid).Canvas.Brush.Color:=clRed;
3:(sender as TDBGrid).Canvas.Brush.Color:=clgreen;
end;
DBGrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
/////////////////////////////////////////////////
procedure Tbddgl_Form.FormCreate(Sender: TObject);
var sqlstr:string;
begin
Query1.SessionName:=Main_Form.Database1.SessionName;
Query1.DatabaseName:=Main_Form.Database1.DatabaseName;
sqlstr:='select *from [xsb] order by 学号';
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.open;
end;
procedure Tbddgl_Form.FormClose(Sender:TObject;var Action:TCloseAction);
begin
Main_Form.Open_Form_number:=Main_Form.Open_Form_number-1;
if Main_Form.Open_Form_number=0 then
Main_Form.N15.Enabled:=true;
Main_Form.N21.Enabled:=True;
Action:=cafree;
end;
/////////////////////////////////////////////////
procedure Tbddgl_Form.BitBtn2Click(Sender: TObject);
begin
Main_Form.N21.Enabled:=true;
close;
end;
procedure Tbddgl_Form.BitBtn1Click(Sender: TObject);
var xm,sqlstr:string;
begin
xm:=Trim(xm_LEDit.Text);
if Length(xm)<1 then
begin
sqlstr:='select a.*,b.专业名称 as 专业名称,c.系别名称 as 系别名称 from [xsb] a ';
sqlstr:=sqlstr+' inner Join [zydm] b on a.专业代码=b.专业代码 ';
sqlstr:=sqlstr+' inner Join [xbdm] c on a.系别代码=c.系别代码 order by a.学号 ';
end
else
begin
xm:='%'+xm+'%';
sqlstr:='select a.*,b.专业名称 as 专业名称,c.系别名称 as 系别名称 from [xsb] a ';
sqlstr:=sqlstr+'inner Join [zydm] b on a.专业代码=b.专业代码 ';
sqlstr:=sqlstr+' inner Join [xbdm] c on a.系别代码=c.系别代码 ';
sqlstr:=sqlstr+'where(a.姓名 like '''+xm+''')order by a.学号 ';
end;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.Open;
if Query1.RecordCount>0 then
N1.Enabled:=true
else N1.Enabled:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -