⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uxsgl.pas

📁 完善的学生管理系统源码 适用于毕业设计和各种小的设计
💻 PAS
字号:
unit Uxsgl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls, DBCtrls, Mask, Grids, DBGrids,
  XPMenu, DB, ADODB, DBActns, ActnList, Buttons, ImgList, ToolWin, ExtDlgs;

type
  TFmXsgl = class(TForm)
    Splitter1: TSplitter;
    XPMenu1: TXPMenu;
    Panel1: TPanel;
    ADOTable1: TADOTable;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ActionList1: TActionList;
    DataSetFirst1: TDataSetFirst;
    DataSetPrior1: TDataSetPrior;
    DataSetNext1: TDataSetNext;
    DataSetLast1: TDataSetLast;
    DataSetInsert1: TDataSetInsert;
    DataSetDelete1: TDataSetDelete;
    DataSetEdit1: TDataSetEdit;
    DataSetPost1: TDataSetPost;
    DataSetCancel1: TDataSetCancel;
    DataSetRefresh1: TDataSetRefresh;
    ImageList1: TImageList;
    GroupBox1: TGroupBox;
    RadioGroup1: TRadioGroup;
    ComboBox1: TComboBox;
    Label12: TLabel;
    Label13: TLabel;
    ComboBox2: TComboBox;
    STB: TStatusBar;
    BitBtn10: TBitBtn;
    BitBtn11: TBitBtn;
    Edit1: TEdit;
    Label14: TLabel;
    RBjq: TRadioButton;
    Rbmh: TRadioButton;
    Panel2: TPanel;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Splitter2: TSplitter;
    Panel3: TPanel;
    Label8: TLabel;
    Label7: TLabel;
    Label10: TLabel;
    Label4: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label5: TLabel;
    Label9: TLabel;
    Label6: TLabel;
    Label3: TLabel;
    Label11: TLabel;
    DBEdit4: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit6: TDBEdit;
    DBEdit3: TDBEdit;
    DBMemo1: TDBMemo;
    DBEdit5: TDBEdit;
    DBComboBox1: TDBComboBox;
    DBComboBox2: TDBComboBox;
    DBEdit1: TDBEdit;
    dbcbjlist: TDBComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DBCxblist: TDBComboBox;
    TabSheet2: TTabSheet;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    BitBtn4: TBitBtn;
    BitBtn3: TBitBtn;
    DBGrid2: TDBGrid;
    DBGrid1: TDBGrid;
    Splitter3: TSplitter;
    DBMemo2: TDBMemo;
    ADOQuery2: TADOQuery;
    DBImage1: TDBImage;
    OpenPictureDialog1: TOpenPictureDialog;
    procedure PageControl1Change(Sender: TObject);
    procedure DataSource2DataChange(Sender: TObject; Field: TField);
    procedure FormShow(Sender: TObject);
    //procedure DBCxblistChange(Sender: TObject);
    procedure BitBtn10Click(Sender: TObject);
    procedure DataSetPost1Execute(Sender: TObject);
    procedure BitBtn11Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure DataSetDelete1Execute(Sender: TObject);
    procedure DataSource2StateChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DBGrid2TitleClick(Column: TColumn);
    procedure DBImage1DblClick(Sender: TObject);
  private
  strField:string;
    { Private declarations }
  public
  procedure getXiBieList();
   procedure getField() ;
   PROCEDURE getBjList();
   procedure getimg(fn:string);
   procedure showcj(strxh:string);
    { Public declarations }
  end;

var
  FmXsgl: TFmXsgl;

implementation

uses Udata;

{$R *.dfm}
procedure TFmXsgl.showcj(strxh:string);
var
strsql:string;
begin
strsql:='SELECT txsb.cxsb_xm as 姓名,tcjb.ccjb_kc as 课程, tcjb.ccjb_cj as 成绩, ccjb_xq as 学期 '+
      'from tcjb,txsb where  txsb.cxsb_xh='''+strxh+''' and tcjb.ccjb_xh ='''+strxh+''' ORDER BY tcjb.ccjb_xq';
 try
  adoquery2.close;
  adoquery2.SQL.Clear;
  adoquery2.SQL.Add(strsql);
  //showmessage(strsql);
  adoquery2.Open;
  dbgrid1.Columns[0].FieldName:='姓名';
  dbgrid1.Columns[1].FieldName :='课程';
  dbgrid1.Columns[2].fieldName :='成绩';
  dbgrid1.Columns[3].fieldName :='学期';

 except
 end;
end;
procedure TFmXsgl.getField() ;
begin
case  radiogroup1.itemindex of
0:
strField:='cxsb_xh';
1 :
strfield:='cxsb_xm';
2:
strfield:='cxsb_zzmm';
3:
strfield :='cxsb_rxrq';
4:
strfield :='cxsb_csrq';
5:
strfield :='cxsb_jg';
6:
strfield :='cxsb_xb';
7:
strfield :='cxsb_jtzz';
8:
strfield :='cxsb_jcqk';
9:
strfield :='cxsb_jj';
end;
//showmessage(strfield);
end;
PROCEDURE TFmXsgl.getBjList();
  var
  strsql:string;
begin
combobox2.Clear;
combobox2.Items.Add('所有班级');
 if combobox1.ItemIndex=0 then
 strsql:='select * from tbjb'
 else
 strsql:='select * from tbjb where cbjb_xb='''+ ComboBox1.Text + '''order by cbjb_bjbh';
try
  adoquery2.Close;
  adoquery2.SQL.Clear;
  adoquery2.SQL.Add(strsql);
  adoquery2.Open;
  //ComboBox1.Clear;
  //ComboBox1.Items.Add('所有班级');
   while not adoquery2.Eof do
  begin
    ComboBox2.Items.Add(adoquery2.FieldValues['cbjb_bjm']);
     dbcbjlist.Items.Add(adoquery2.FieldValues['cbjb_bjm']);
  adoquery2.Next;
  end;
  combobox2.ItemIndex := 0;
// adotable1.First;
finally
 adoquery2.Close;
end;
end;
procedure TFmXsgl.getXiBieList() ;
begin
try
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from txbb order by cxbb_xbbh');
  adoquery1.Open;
  dbcxblist.Clear;
   ComboBox1.Clear;
   ComboBox1.Items.Add('所有系别');
   // ComboBox2.Clear;
 // ComboBox2.Items.Add('所有班级');
   while not adoquery1.Eof do
  begin
    dbcxblist.Items.Add(adoquery1.FieldValues['cxbb_bbm']);
    ComboBox1.Items.Add(adoquery1.FieldValues['cxbb_bbm']);
  adoquery1.Next;
  end;
  //strsql:='select * from tbjb'
  ComboBox1.ItemIndex:=0;
 // ComboBox2.itemindex:=0;
finally
 adoquery1.Close;


end;
end;
procedure TFmXsgl.PageControl1Change(Sender: TObject);
begin
case  pagecontrol1.ActivePageIndex  of
2: begin
panel1.Hide;
Splitter1.Hide ;
end;
0,1: begin
panel1.Show;
Splitter1.Show;
end;
end;
end;

procedure TFmXsgl.DataSource2DataChange(Sender: TObject; Field: TField);
var
str:string;
begin
 if DataSource2.DataSet.RecNo > 0 then begin
 str := datasource2.DataSet.FieldValues['cxsb_xh'] ;
  showcj(str);
   end;
  stb.Panels.Items[2].Text:='当前记录:'+IntToStr(DataSource2.DataSet.RecNo);
  stb.Panels.Items[1].Text:='记录总数:'+IntToStr(DataSource2.DataSet.RecordCount);


end;

procedure TFmXsgl.FormShow(Sender: TObject);
begin
adotable1.Open;
//ADOStoredProc1.Open;
end;

{procedure TFmXsgl.DBCxblistChange(Sender: TObject);
begin
try
  adoquery2.Close;
  adoquery2.SQL.Clear;
  adoquery2.SQL.Add('select * from tbjb where cbjb_xb='''+ dbcxblist.Text + '''order by cbjb_bjbh');
  adoquery2.Open;
   dbcbjlist.Clear;
   while not adoquery2.Eof do
  begin
    dbcbjlist.Items.Add(adoquery2.FieldValues['cbjb_bjm']);
  adoquery2.Next;
  end;
  // adotable1.First;
except

end;
end;}

procedure TFmXsgl.BitBtn10Click(Sender: TObject);
 //这里用query1是为了与 系别选择时调用query查询冲突
var
strtmp:string;
findMo:string;
findStr:string;
begin

if (trim(edit1.Text) ='') and (combobox1.ItemIndex = 0 )and (combobox2.ItemIndex=0)  then exit;
if (adotable1.State=dsedit) or (adotable1.State=dsinsert) then
DataSetPost1Execute(Sender);
 if trim(edit1.Text)='' then begin
   if combobox2.ItemIndex=0 then
     strtmp:='select * from txsb where cxsb_xibie= '''+trimright(combobox1.Text)+''''
   else
    strtmp:='select * from txsb where cxsb_bj= '''+trimright(combobox2.Text)+'''';
 end
 else begin
findStr:=edit1.Text;
if rbmh.Checked then
begin
findmo:=' like ';
findstr:='%'+findstr+'%';
end
else
findmo:='=';
getField;
if ComboBox1.ItemIndex = 0 then
strtmp:='select * from txsb where '+strfield+findmo+''''+findstr +''''
else   begin
strtmp:='select * from txsb where cxsb_xibie='''+ trimright(combobox1.Text) +'''and '+strfield+findmo+''''+findstr +'''';
   if combobox2.ItemIndex <>0 then
   strtmp:='select * from txsb where cxsb_bj='''+ trimright(combobox2.Text) +''' and '+strfield+findmo+''''+findstr +''''
   //else
   //strtmp:=strtmp+ 'where cxsb_xibie='''+ combobox1.Text +'''and '+strfield+findmo+''''+findstr +'''';
end;
end;
try
 showmessage(strtmp);
 adoquery1.Close;
 adoquery1.SQL.Clear;
 adoquery1.SQL.Add(strtmp);
 adoquery1.Open;
 datasource2.DataSet :=adoquery1;
 finally
 //adoquery1.Close;
 end;
end;

procedure TFmXsgl.DataSetPost1Execute(Sender: TObject);
begin
adotable1.Post;
end;

procedure TFmXsgl.BitBtn11Click(Sender: TObject);
begin
datasource2.DataSet :=adotable1;
end;

procedure TFmXsgl.ComboBox1Change(Sender: TObject);
begin
getbjlist();
end;


procedure TFmXsgl.DataSetDelete1Execute(Sender: TObject);
begin
if application.MessageBox('确认要删除吗?','提示',mb_okcancel)=idok then
adotable1.delete;
end;

procedure TFmXsgl.DataSource2StateChange(Sender: TObject);
begin
  case DataSource2.State of
  dsBrowse :stb.Panels.Items[0].Text:='[浏览模式]';
  dsEdit:stb.Panels.Items[0].Text:='[编辑模式]';
  dsInsert:stb.Panels.Items[0].Text:='[插入模式]';
  else stb.Panels.Items[0].Text:='[其他模式]';
  end;
end;

procedure TFmXsgl.FormCreate(Sender: TObject);
begin
//ADOConnection1.Connected:=true;
getXiBieList();
getBjList();
end;

procedure TFmXsgl.DBGrid2TitleClick(Column: TColumn);

begin
try
 adoquery1.Close;
 adoquery1.SQL.Clear;
 adoquery1.SQL.Add('select * from txsb order by '+column.FieldName);
 showmessage('select * from txsb order by '+column.FieldName);
 adoquery1.Open;
 datasource2.DataSet :=adoquery1;
 finally
 //adoquery1.Close;
 end;
end;

procedure TFmXsgl.DBImage1DblClick(Sender: TObject);

var
strfile:string;
B:TBitmap;
begin
if OpenPictureDialog1.Execute then begin
    adotable1.Edit;
   B := TBitmap.Create;
    strfile:=OpenPictureDialog1.FileName;
    B.LoadFromFile(strfile);
    DBImage1.Picture.Assign(B);
   adotable1.fields[12].assign(B);
   adotable1.Post;
   B.Free;
end;
end;


procedure tfmxsgl.getimg(fn:string);
var
B: TBitmap;
begin
B := TBitmap.Create;
try
B.LoadFromFile(fn);
DBImage1.Picture.Assign(B);
finally
B.Free;
end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -