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

📄 unit21.~pas

📁 学籍管理系统 基于sql2000 实现插入删除修改 等功能 不错
💻 ~PAS
字号:
unit Unit21;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, ExtCtrls, Buttons, Grids, DBGrids;

type
  TForm18 = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    DBGrid2: TDBGrid;
    Panel3: TPanel;
    GroupBox1: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn4: TBitBtn;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    xh: TLabeledEdit;
    xm: TLabeledEdit;
    km: TComboBox;
    cj: TLabeledEdit;
    Panel4: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    bj: TComboBox;
    xq: TComboBox;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    ADOQuery3: TADOQuery;
    procedure FormCreate(Sender: TObject);
    procedure bjChange(Sender: TObject);
    procedure xqChange(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure DBGrid2CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form18: TForm18;
  sqlstring,data_path,data_path2,data_path1:string;
implementation

uses Unit1;

{$R *.dfm}

procedure TForm18.FormCreate(Sender: TObject);
begin
 data_path:=application.GetNamePath+'user/'+form1.user+'/'+'班级.mdb';
 ADOQuery1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+data_path+';';
 sqlstring:='select * from 班级表';
  bj.Clear;
  with ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add(sqlstring);
      open;
      first;
      while not eof do
         begin
           bj.Items.Add(fieldbyname('名称').asstring);
            next;
         end;
    end;

end;
procedure TForm18.BitBtn1Click(Sender: TObject);
var
j,xuezhi:integer;
pjf,zf:double;
begin
 pjf:=0;
 zf:=0;
if (bj.Text='') or (xq.Text='') then
 begin
 showmessage('请选择班级和学期!');
 exit;
 end;
 if (km.Text='') or (cj.Text='') then
 begin
 showmessage('请输入学号或姓名');
 exit;
 end;

 sqlstring:='select * from 第'+trim(xq.Text)+'学期成绩表 where 学号=:number';
  with  ADOQuery2 do
  begin
  close;
  sql.Clear;
  sql.Add(sqlstring);
   Parameters.ParamByName('number').Value:=trim(xh.Text);
  open;
   if recordcount<1 then
   begin
  sqlstring:='insert into 第'+trim(xq.Text)+'学期成绩表(学号,姓名,'+trim(km.text)+') values(:number,:name,:cj)';
  close;
  sql.Clear;
  sql.Add(sqlstring);
  Parameters.ParamByName('number').Value:=trim(xh.Text);
  Parameters.ParamByName('name').Value:=trim(xm.Text);
  Parameters.ParamByName('cj').Value:=strtofloat(trim(cj.Text));
  execsql;
  close;
  end
 else
  begin
  sqlstring:='update  第'+trim(xq.Text)+'学期成绩表 set '+trim(km.text)+'=:cj where 学号=:number';
  close;
  sql.Clear;
  sql.Add(sqlstring);
  Parameters.ParamByName('number').Value:=trim(xh.Text);
  Parameters.ParamByName('cj').Value:=strtofloat(trim(cj.Text));
  execsql;
  
  end;
  end;

  
  sqlstring:='select * from 第'+trim(xq.Text)+'学期成绩表';
  with  ADOQuery2 do
  begin
  close;
  sql.Clear;
  sql.Add(sqlstring);
  open;
  end;
  with ADOQuery3 do
   begin

  next;
  xh.Text:=fieldbyname('学号').AsString;
  xm.Text:=fieldbyname('姓名').AsString;
     end;
end;

procedure TForm18.BitBtn4Click(Sender: TObject);
begin
close;
end;

procedure TForm18.DBGrid2CellClick(Column: TColumn);
begin
 with ADOQuery3 do
    begin
     xh.Text:=fieldbyname('学号').AsString;
     xm.Text:=fieldbyname('姓名').AsString;
   end;


end;

procedure TForm18.bjChange(Sender: TObject);
var


i,xuezhi:integer;
begin
  data_path2:=application.GetNamePath+'user/'+form1.user+'/'+trim(bj.Text)+'.mdb';
  ADOQuery3.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+data_path2+';';
  sqlstring:='select * from 班级表 where 名称=:mc';
  xq.Clear;
  with ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add(sqlstring);
      Parameters.ParamByName('mc').Value:=trim(bj.Text);
      open;
      xuezhi:=fieldbyname('学制').AsInteger;
      end;
    for i:=1 to xuezhi*2 do
     xq.Items.Add(inttostr(i));

    sqlstring:='select 学号,姓名 from 学生信息表';
    form1.editdata(ADOQuery3,sqlstring,0);
end;

procedure TForm18.xqChange(Sender: TObject);
var
i,xuezhi:integer;

begin
  data_path1:=application.GetNamePath+'user/'+form1.user+'/'+trim(bj.Text)+'.mdb';
  ADOQuery2.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+data_path1+';';
  sqlstring:='select * from 第'+trim(xq.Text)+'学期成绩表';
   km.Clear;
  with  ADOQuery2 do
  begin
  close;
  sql.Clear;
  sql.Add(sqlstring);
  open;
  for i:=3 to  ADOQuery2.Recordset.Fields.Count-3 do //  读取字段名
  begin
  km.Items.Add(ADOQuery2.Recordset.Fields[i].name);
  end;
 end ;
 end;

end.

⌨️ 快捷键说明

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