www.pudn.com > xinshengruxue.rar > sfgl.pas


unit sfgl; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, Menus, StdCtrls, Grids, DBGrids, DB, DBTables, ExtCtrls, Buttons; 
 
type 
  Tsfgl_Form = class(TForm) 
    Query1: TQuery; 
    Query2: TQuery; 
    DataSource1: TDataSource; 
    DataSource2: TDataSource; 
    DBGrid1: TDBGrid; 
    DBGrid2: TDBGrid; 
    PopupMenu1: TPopupMenu; 
    N1: TMenuItem; 
    DataSource3: TDataSource; 
    DataSource4: TDataSource; 
    GroupBox1: TGroupBox; 
    Label1: TLabel; 
    xm_LEdit: TEdit; 
    BitBtn1: TBitBtn; 
    BitBtn2: TBitBtn; 
 
    procedure FormCreate(Sender: TObject); 
    procedure DBGrid1Cellclick(column:TColumn); 
    procedure N1Click(Sender: TObject); 
    procedure FormClose(Sender:TObject;var Action:TCloseAction); 
     
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; 
    DataCol: Integer; Column: TColumn; State: TGridDrawState); 
    procedure BitBtn2Click(Sender: TObject); 
    procedure BitBtn1Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  sfgl_Form: Tsfgl_Form; 
 
implementation 
  uses main,sf; 
{$R *.dfm} 
////////////////////////////////////////////////// 
 
 
 
//////////////////////////////////////////////////////// 
 
procedure Tsfgl_Form.FormCreate(Sender: TObject); 
var sqlstr:string; 
begin 
    Query1.SessionName:=Main_Form.Database1.SessionName; 
    Query1.DatabaseName:=Main_FOrm.Database1.DatabaseName; 
    Query2.SessionName:=Main_Form.Database1.SessionName; 
    Query2.DatabaseName:=Main_FOrm.Database1.DatabaseName; 
 
 
   sqlstr:='select *from [sfb] where(学号='''')'; 
   Query2.Close; 
   Query2.SQL.Clear; 
   Query2.SQL.Add(sqlstr); 
   Query2.Open; 
   BitBtn1.Click; 
 
end; 
 
 
/////////////////////////////////////////// 
procedure Tsfgl_Form.DBGrid1Cellclick(column:TColumn); 
var xh,sqlstr:string; 
begin 
   xh:=Query1.FieldByName('学号').AsString; 
   sqlstr:='select * from [sfb] where(学号='''+xh+''')'; 
   Query2.Close; 
   Query2.SQL.Clear; 
   Query2.SQL.Add(sqlstr); 
   Query2.Open; 
end; 
 
/////////////////////////////////////////// 
procedure Tsfgl_Form.N1Click(Sender: TObject); 
begin 
 
Main_Form.Open_Form_number:=Main_Form.Open_Form_number+1; 
Main_Form.N15.Enabled:=false; 
Application.CreateForm(Tsf_Form,sf_Form); 
sf_Form.Show; 
end; 
 
 
 
////////////////////////////////// 
procedure Tsfgl_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.N41.Enabled:=true; 
  Action:=cafree; 
 
end; 
 
 
/////////////////////////////////////////////////////// 
procedure Tsfgl_Form.DBGrid1DrawColumnCell(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 Tsfgl_Form.BitBtn2Click(Sender: TObject); 
begin 
     close; 
end; 
 
 
/////////////////////////////////////////////////// 
procedure Tsfgl_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 系别名称,d.公寓级别 as 公寓级别 from [xsb] a '; 
        sqlstr:=sqlstr+'Inner join [zydm] b on a.专业代码=b.专业代码 '; 
        sqlstr:=sqlstr+'inner join [xbdm] c on a.系别代码=c.系别代码 '; 
        sqlstr:=sqlstr+'inner join [gydm] d on a.公寓代码=d.公寓代码 '; 
        sqlstr:=sqlstr+'order by a.学号'; 
       end 
       else 
       begin 
        xm:='%'+xm+'%'; 
        sqlstr:='select a.*,b.专业名称 as 专业名称,c.系别名称 as 系别名称,d.公寓级别 as 公寓级别 from [xsb] a '; 
        sqlstr:=sqlstr+'inner join [zydm] b on a.专业代码=b.专业代码 '; 
        sqlstr:=sqlstr+'inner join [xbdm] c on a.系别代码=c.系别代码 '; 
        sqlstr:=sqlstr+'inner join [gydm] d on a.公寓代码=d.公寓代码 '; 
        sqlstr:=sqlstr+'where(a.姓名 like'''+xm+''')and(a.状态=2 or a.状态=3)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.