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

📄 unit3.~pas

📁 能够动态的实现数据库表的创建
💻 ~PAS
字号:
unit Unit3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Mask, DBCtrls, StdCtrls, DB, ADODB, Grids, DBGrids, ExtCtrls,
  ComCtrls, OleServer, AccessXP, WordXP, IWControl, IWExtCtrls,
  IWDBExtCtrls,main;

type
  Tstudent = class(TForm)
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Label5: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Edit6: TEdit;
    Edit7: TEdit;
    Label8: TLabel;
    Label9: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    DateTimePicker1: TDateTimePicker;
    Button4: TButton;
    sex: TComboBox;
    DBLookupComboBox1: TDBLookupComboBox;
    ADOQuery3: TADOQuery;
    DataSource3: TDataSource;
    DBLookupComboBox2: TDBLookupComboBox;
    ComboBox2: TComboBox;
    Label6: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Edit3: TEdit;
    Edit4: TEdit;
    Button5: TButton;
    ADOQuery4: TADOQuery;
    procedure Button3Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure DBLookupComboBox1CloseUp(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button5Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  student: Tstudent;
  ct:integer;
implementation

{$R *.dfm}


procedure Tstudent.Button3Click(Sender: TObject);
begin
 self.Close;
end;

procedure Tstudent.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(key in['0'..'9',#8])then
      begin
       key:=#0;
         showmessage('学号只能为数字');
          end;
 end;


procedure Tstudent.DBLookupComboBox1CloseUp(Sender: TObject);

  var sqlstr:string;
begin
   if  (DBLookupComboBox1.KeyValue=null) then exit;
sqlstr:='select DISTINCT 系名称 from 院系 where 学院名称='''+DBLookupComboBox1.KeyValue+'''';
adoquery3.Close;
adoquery3.SQL.Clear ;
adoquery3.sql.Add(sqlstr);
adoquery3.Open;
end;
procedure Tstudent.DBGrid1DblClick(Sender: TObject);
begin
   edit1.text:=adoquery1.fieldbyname('学号').asstring;
   edit2.Text:=adoquery1.fieldbyname('姓名').asstring;
   sex.Text:=adoquery1.fieldbyname('性别').asstring;
   DBLookupComboBox1.KeyValue:=adoquery1.fieldbyname('学院').AsString;
   DBLookupComboBox2.KeyValue:=adoquery1.fieldbyname('系').AsString;
   edit3.text:=adoquery1.fieldbyname('民族').asstring;
   ComboBox2.Text:=adoquery1.fieldbyname('政治面貌').asstring;
   edit4.Text:=adoquery1.fieldbyname('职务').asstring;
   DateTimePicker1.Date:=adoquery1.fieldbyname('出生日期').AsDateTime;
   edit6.Text:=adoquery1.fieldbyname('籍贯').asstring;
   edit7.Text:=adoquery1.fieldbyname('联系方式').asstring;
   Button2.Enabled:=true;
   Button4.Enabled:=true;
end;

procedure Tstudent.Button1Click(Sender: TObject);
begin
   ADOquery1.close;
   ADOquery1.sql.clear;
   ADOquery1.sql.add('select * from 学生基本信息表 where 学号='''+edit1.text+'''');
   ADOquery1.open;
   if ADOquery1.recordcount>0 then
   begin
      showmessage('该学号已经存在');
      edit1.selectall;
      ADOquery1.close;
      ADOquery1.sql.clear;
      ADOquery1.sql.add('select * from 学生基本信息表');
      ADOquery1.open;
       Button2.enabled:=false;
       Button4.enabled:=false;
        exit;
   end;

if(edit1.Text='')or(edit2.Text='')or(ComboBox2.text='')or(edit3.Text='')or(edit4.Text='')or(dblookupcombobox1.keyvalue='')
or(dblookupcombobox2.keyvalue=null)or(edit6.Text='')or(edit7.Text='')then
begin
 application.MessageBox('请输入完整的信息','提示',mb_ok);
        Button2.enabled:=false;
        Button4.enabled:=false;
 exit;
end;
with ADOquery1 do
begin
append;
fieldvalues['学号']:=edit1.Text;
fieldvalues['姓名']:=edit2.Text;
fieldvalues['性别']:=sex.Text;
fieldvalues['学院']:=dblookupcombobox1.keyvalue;
fieldvalues['系']:=dblookupcombobox2.keyvalue;
fieldvalues['民族']:=edit3.Text;
fieldvalues['政治面貌']:=ComboBox2.Text;
fieldvalues['职务']:=edit4.Text;
fieldvalues['出生日期']:=DateTimePicker1.Date;
fieldvalues['籍贯']:=edit6.Text;
fieldvalues['联系方式']:=edit7.Text;
 post;
  Button2.enabled:=false;
  Button4.enabled:=false;
   ADOquery1.close;
   ADOquery1.sql.clear;
   ADOquery1.sql.add('select * from 学生基本信息表');
   ADOquery1.open;

end;
   ADOquery4.close;
   ADOquery4.sql.clear;
   ADOquery4.sql.add('select * from '+DBLookupComboBox2.keyvalue+'');
   ADOquery4.open;
   with ADOquery4 do
   begin
    append;
    fieldvalues['学号']:=edit1.Text;
    fieldvalues['姓名']:=edit2.Text;
    post;
    end;
    exit;

end;

procedure Tstudent.Button2Click(Sender: TObject);
begin
  if(edit1.Text='')or(edit2.Text='')or(ComboBox2.text='')or(edit3.Text='')or(edit4.Text='')or(dblookupcombobox1.keyvalue='')
    or(dblookupcombobox2.keyvalue=null)or(edit6.Text='')or(edit7.Text='')then
begin
 application.MessageBox('请输入完整的信息','提示',mb_ok);
 exit;
end;
   //修改成绩内的学生信息
   ADOquery4.close;
   ADOquery4.sql.clear;
   ADOquery4.sql.add('select * from '+DBLookupComboBox2.keyvalue+' where 学号='''+adoquery1.fieldbyname('学号').asstring+'''');
   ADOquery4.open;
   ADOquery4.Edit;
   ADOquery4.fieldvalues['学号']:=edit1.text;
   ADOquery4.fieldvalues['姓名']:=edit2.text;
   ADOquery4.Post;
   //修改学生基本信息表
   ADOquery1.Edit;
   ADOquery1.fieldvalues['学号']:=edit1.Text;
   ADOquery1.fieldvalues['姓名']:=edit2.Text;
   ADOquery1.fieldvalues['性别']:=sex.Text;
   ADOquery1.fieldvalues['学院']:=dblookupcombobox1.keyvalue;
   ADOquery1.fieldvalues['系']:=dblookupcombobox2.keyvalue;
   ADOquery1.fieldvalues['民族']:=edit3.Text;
   ADOquery1.fieldvalues['政治面貌']:=ComboBox2.Text;
   ADOquery1.fieldvalues['职务']:=edit4.Text;
   ADOquery1.fieldvalues['出生日期']:=DateTimePicker1.Date;
   ADOquery1.fieldvalues['籍贯']:=edit6.Text;
   ADOquery1.fieldvalues['联系方式']:=edit7.Text;
   ADoquery1.Post;
   ADOquery1.close;
   ADOquery1.sql.clear;
   ADOquery1.sql.add('select * from 学生基本信息表');
   ADOquery1.open;
    application.MessageBox('信息已经修改完成!','修改提示',mb_ok);
    Button2.enabled:=false;
    Button4.enabled:=false;
    exit;
 end;

procedure Tstudent.Button4Click(Sender: TObject);
var
i:integer;
begin
i:=application.MessageBox('你确定要删除吗?','删除提示',mb_YesNO);
 if i=7 then
 exit;
 //删除成绩表中学生信息
   ADOquery4.close;
   ADOquery4.sql.clear;
   ADOquery4.sql.add('select * from '+DBLookupComboBox2.keyvalue+' where 学号='''+adoquery1.fieldbyname('学号').asstring+'''');
   ADOquery4.open;
   ADOquery4.Delete;
   ADOquery4.close;
   ADOquery4.sql.clear;
   ADOquery4.sql.add('select * from 学生基本信息表');
   ADOquery4.open;
 //删除学生基本信息中的学生
   ADOquery1.Delete;
   ADOquery1.close;
   ADOquery1.sql.clear;
   ADOquery1.sql.add('select * from 学生基本信息表');
   ADOquery1.open;
   Button2.Enabled:=false;
   Button4.Enabled:=false;
   exit;
  end;

procedure Tstudent.FormCreate(Sender: TObject);
begin
Button2.Enabled:=false;
Button4.Enabled:=false;
end;



procedure Tstudent.Button5Click(Sender: TObject);
begin
   ADOquery1.close;
   ADOquery1.sql.clear;
   ADOquery1.sql.add('select * from 学生基本信息表');
   ADOquery1.open;
   exit;
end;



end.

⌨️ 快捷键说明

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