www.pudn.com > xinshengruxue.rar > 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.