/* Table STUDENT */
CREATE TABLE STUDENT (
ID CHAR(6) NOT NULL,
NAME VARCHAR(20) NOT NULL,
SEX CHAR(1) DEFAULT 'M' NOT NULL,
CLASS CHAR(4),
DEPARTMENT SMALLINT,
BIRTHDAY TIMESTAMP,
NATIVE_PLACE VARCHAR(50)
);
/* PrimaryKey ID */
ALTER TABLE STUDENT
ADD CONSTRAINT ID
PRIMARY KEY (ID);/* Table CHANGE */
CREATE TABLE CHANGE (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
CHANGE CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey CHANGE_ID */
ALTER TABLE CHANGE
ADD CONSTRAINT CHANGE_ID
PRIMARY KEY (ID);/* Table REWARD */
CREATE TABLE REWARD (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey REWARD_ID */
ALTER TABLE REWARD
ADD CONSTRAINT REWARD_ID
PRIMARY KEY (ID);/* Table PUNISHMENT */
CREATE TABLE PUNISHMENT (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
ENABLE CHAR(1) DEFAULT 'T' NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey PUNISHMENT_ID */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT PUNISHMENT_ID
PRIMARY KEY (ID);/* Table DEPARTMENT */
CREATE TABLE DEPARTMENT (
ID SMALLINT NOT NULL,
NAME VARCHAR(50) NOT NULL
);
/* PrimaryKey DEPARTMENT_ID */
ALTER TABLE DEPARTMENT
ADD CONSTRAINT DEPARTMENT_ID
PRIMARY KEY (ID);/* Table CLASS */
CREATE TABLE CLASS (
ID CHAR(4) NOT NULL,
NAME VARCHAR(50) NOT NULL,
MONITOR CHAR(6),
DEPARTMENT SMALLINT NOT NULL
);
/* PrimaryKey CLASS_ID */
ALTER TABLE CLASS
ADD CONSTRAINT CLASS_ID
PRIMARY KEY (ID);/* Table CHANGE_CODE */
CREATE TABLE CHANGE_CODE (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey CHANGE_CODE */
ALTER TABLE CHANGE_CODE
ADD CONSTRAINT CHANGE_CODE
PRIMARY KEY (CODE);/* Table REWARD_LEVELS */
CREATE TABLE REWARD_LEVELS (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey REWARD_LEVELS */
ALTER TABLE REWARD_LEVELS
ADD CONSTRAINT REWARD_LEVELS
PRIMARY KEY (CODE);/* Table PUNISH_LEVELS */
CREATE TABLE PUNISH_LEVELS (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey PUNISH_LEVELS */
ALTER TABLE PUNISH_LEVELS
ADD CONSTRAINT PUNISH_LEVELS
PRIMARY KEY (CODE);/* Table COUNTER */
CREATE TABLE COUNTER (
ID CHAR(1) NOT NULL,
COUNTER_VALUE SMALLINT NOT NULL
);
/* PrimaryKey COUNTER_ID */
ALTER TABLE COUNTER
ADD CONSTRAINT COUNTER_ID
PRIMARY KEY (ID);/* ForeignKey CHANGE */
ALTER TABLE CHANGE
ADD CONSTRAINT CHANGE
FOREIGN KEY (CHANGE)
REFERENCES CHANGE_CODE;
/* ForeignKey STUDENT1 */
ALTER TABLE CHANGE
ADD CONSTRAINT STUDENT1
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey MONITOR */
ALTER TABLE CLASS
ADD CONSTRAINT MONITOR
FOREIGN KEY (MONITOR)
REFERENCES STUDENT;
/* ForeignKey PUNISH */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT PUNISH
FOREIGN KEY (LEVELS)
REFERENCES PUNISH_LEVELS;
/* ForeignKey STUDENT3 */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT STUDENT3
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey REWARD */
ALTER TABLE REWARD
ADD CONSTRAINT REWARD
FOREIGN KEY (LEVELS)
REFERENCES REWARD_LEVELS;
/* ForeignKey STUDENT2 */
ALTER TABLE REWARD
ADD CONSTRAINT STUDENT2
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey CLASS */
ALTER TABLE STUDENT
ADD CONSTRAINT CLASS
FOREIGN KEY (CLASS)
REFERENCES CLASS;
CREATE TABLE STUDENT (
ID CHAR(6) NOT NULL,
NAME VARCHAR(20) NOT NULL,
SEX CHAR(1) DEFAULT 'M' NOT NULL,
CLASS CHAR(4),
DEPARTMENT SMALLINT,
BIRTHDAY TIMESTAMP,
NATIVE_PLACE VARCHAR(50)
);
/* PrimaryKey ID */
ALTER TABLE STUDENT
ADD CONSTRAINT ID
PRIMARY KEY (ID);/* Table CHANGE */
CREATE TABLE CHANGE (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
CHANGE CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey CHANGE_ID */
ALTER TABLE CHANGE
ADD CONSTRAINT CHANGE_ID
PRIMARY KEY (ID);/* Table REWARD */
CREATE TABLE REWARD (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey REWARD_ID */
ALTER TABLE REWARD
ADD CONSTRAINT REWARD_ID
PRIMARY KEY (ID);/* Table PUNISHMENT */
CREATE TABLE PUNISHMENT (
ID SMALLINT NOT NULL,
STUDENT CHAR(6) NOT NULL,
LEVELS CHAR(1) NOT NULL,
REC_TIME TIMESTAMP NOT NULL,
ENABLE CHAR(1) DEFAULT 'T' NOT NULL,
DESCRIPTION VARCHAR(4000)
);
/* PrimaryKey PUNISHMENT_ID */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT PUNISHMENT_ID
PRIMARY KEY (ID);/* Table DEPARTMENT */
CREATE TABLE DEPARTMENT (
ID SMALLINT NOT NULL,
NAME VARCHAR(50) NOT NULL
);
/* PrimaryKey DEPARTMENT_ID */
ALTER TABLE DEPARTMENT
ADD CONSTRAINT DEPARTMENT_ID
PRIMARY KEY (ID);/* Table CLASS */
CREATE TABLE CLASS (
ID CHAR(4) NOT NULL,
NAME VARCHAR(50) NOT NULL,
MONITOR CHAR(6),
DEPARTMENT SMALLINT NOT NULL
);
/* PrimaryKey CLASS_ID */
ALTER TABLE CLASS
ADD CONSTRAINT CLASS_ID
PRIMARY KEY (ID);/* Table CHANGE_CODE */
CREATE TABLE CHANGE_CODE (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey CHANGE_CODE */
ALTER TABLE CHANGE_CODE
ADD CONSTRAINT CHANGE_CODE
PRIMARY KEY (CODE);/* Table REWARD_LEVELS */
CREATE TABLE REWARD_LEVELS (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey REWARD_LEVELS */
ALTER TABLE REWARD_LEVELS
ADD CONSTRAINT REWARD_LEVELS
PRIMARY KEY (CODE);/* Table PUNISH_LEVELS */
CREATE TABLE PUNISH_LEVELS (
CODE CHAR(1) NOT NULL,
DESCRIPTION VARCHAR(50)
);
/* PrimaryKey PUNISH_LEVELS */
ALTER TABLE PUNISH_LEVELS
ADD CONSTRAINT PUNISH_LEVELS
PRIMARY KEY (CODE);/* Table COUNTER */
CREATE TABLE COUNTER (
ID CHAR(1) NOT NULL,
COUNTER_VALUE SMALLINT NOT NULL
);
/* PrimaryKey COUNTER_ID */
ALTER TABLE COUNTER
ADD CONSTRAINT COUNTER_ID
PRIMARY KEY (ID);/* ForeignKey CHANGE */
ALTER TABLE CHANGE
ADD CONSTRAINT CHANGE
FOREIGN KEY (CHANGE)
REFERENCES CHANGE_CODE;
/* ForeignKey STUDENT1 */
ALTER TABLE CHANGE
ADD CONSTRAINT STUDENT1
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey MONITOR */
ALTER TABLE CLASS
ADD CONSTRAINT MONITOR
FOREIGN KEY (MONITOR)
REFERENCES STUDENT;
/* ForeignKey PUNISH */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT PUNISH
FOREIGN KEY (LEVELS)
REFERENCES PUNISH_LEVELS;
/* ForeignKey STUDENT3 */
ALTER TABLE PUNISHMENT
ADD CONSTRAINT STUDENT3
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey REWARD */
ALTER TABLE REWARD
ADD CONSTRAINT REWARD
FOREIGN KEY (LEVELS)
REFERENCES REWARD_LEVELS;
/* ForeignKey STUDENT2 */
ALTER TABLE REWARD
ADD CONSTRAINT STUDENT2
FOREIGN KEY (STUDENT)
REFERENCES STUDENT;
/* ForeignKey CLASS */
ALTER TABLE STUDENT
ADD CONSTRAINT CLASS
FOREIGN KEY (CLASS)
REFERENCES CLASS;
解决方案 »
- 如何让窗体的最大化、最小化、关闭按钮消失,最好是这一行(应该叫系统栏吧)全消失,还有怎么让
- 急!用InnoSetup的兄弟请进。在线等
- 请教高手,我做了一个导出到Excel的存储过程但有些问题希望能得到答案
- AdoConnection如何连接excel文件(.xls)????
- 请问用调用adoconnect编辑连接数据库字符串的那个窗口
- 灵活查询有什么好的方法?
- ini文件使用的困惑!
- 为何我这样写的代码行不通的???
- 小问题,可以告诉我哪里有DBGridEh for Delphi6下载吗?
- 金山毒霸是用DELPHI或BCB开发的?
- DATA WARE是指的什么组件啊?分不多,马上给
- 探讨数据库设计的最实际的原则!高手新手都请进!!
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, ComCtrls, DBCtrls, StdCtrls, Mask, Grids, DBGrids, ExtCtrls;type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
Database1: TDatabase;
T_student: TTable;
DS_student: TDataSource;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
Label1: TLabel;
i_stud_id_1: TMaskEdit;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
i_change: TRadioGroup;
i_descrip_1: TMemo;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
T_stud_info_1: TTable;
DS_stud_info_1: TDataSource;
DBText1: TDBText;
DBText2: TDBText;
DBText3: TDBText;
T_class_info_1: TTable;
DS_class_info_1: TDataSource;
DS_depart_info_1: TDataSource;
T_depart_info_1: TTable;
T_counter_c: TTable;
T_change: TTable;
Label6: TLabel;
i_stud_id_2: TMaskEdit;
GroupBox2: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
i_reward_level: TRadioGroup;
Label10: TLabel;
i_descrip_2: TMemo;
Button3: TButton;
Button4: TButton;
Label11: TLabel;
i_stud_id_3: TMaskEdit;
GroupBox3: TGroupBox;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
DBText7: TDBText;
DBText8: TDBText;
DBText9: TDBText;
i_punish_level: TRadioGroup;
Label15: TLabel;
i_descrip_3: TMemo;
Button5: TButton;
Button6: TButton;
T_counter_r: TTable;
T_reward: TTable;
T_counter_p: TTable;
T_punish: TTable;
Label16: TLabel;
i_stud_id_4: TMaskEdit;
GroupBox4: TGroupBox;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
GroupBox5: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
T_stud_info_4: TTable;
DS_stud_info_4: TDataSource;
Button7: TButton;
Button8: TButton;
T_class_info_4: TTable;
DS_class_info_4: TDataSource;
T_depart_info_4: TTable;
DS_depart_info_4: TDataSource;
T_change_4: TTable;
DS_change_4: TDataSource;
T_reward_4: TTable;
DS_reward_4: TDataSource;
T_punish_4: TTable;
DS_punish_4: TDataSource;
GroupBox6: TGroupBox;
GroupBox7: TGroupBox;
Label26: TLabel;
Label27: TLabel;
DBLookupComboBox3: TDBLookupComboBox;
DBMemo1: TDBMemo;
Button9: TButton;
Button10: TButton;
T_change_code_4: TTable;
DS_change_code_4: TDataSource;
Label28: TLabel;
DBLookupComboBox4: TDBLookupComboBox;
Label29: TLabel;
DBMemo2: TDBMemo;
Button11: TButton;
Button12: TButton;
T_reward_level_4: TTable;
DS_reward_level_4: TDataSource;
Label30: TLabel;
Label31: TLabel;
DBRadioGroup1: TDBRadioGroup;
DBMemo3: TDBMemo;
DBLookupComboBox5: TDBLookupComboBox;
Button13: TButton;
Button14: TButton;
T_punish_level_4: TTable;
DS_punish_level_4: TDataSource;
DBRadioGroup2: TDBRadioGroup;
procedure FormCreate(Sender: TObject);
procedure i_stud_id_1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure i_stud_id_2Change(Sender: TObject);
procedure i_stud_id_3Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure i_stud_id_4Change(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
begin
// try
Database1.Open;
// except
// Application.MessageBox('请确认用户名密码!','数据库连接错误',MB_OK);
// Application.Terminate;
// end;
if not Database1.Connected then Application.Terminate;
T_student.Open;
DBGrid1.Columns[0].Width:=64;
DBGrid1.Columns[1].Width:=64;
DBGrid1.Columns[2].Width:=64;
DBGrid1.Columns[3].Width:=64;
DBGrid1.Columns[4].Width:=30;
DBGrid1.Columns[5].Width:=64;
DBGrid1.Columns[6].Width:=100;
end;procedure TForm1.i_stud_id_1Change(Sender: TObject);
begin
T_stud_info_1.Filter:='ID='''+i_stud_id_1.Text+'''';
T_stud_info_1.Filtered:=True;
T_stud_info_1.Open;
T_class_info_1.Open;
T_depart_info_1.Open;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
i_stud_id_1.Text:='';
i_change.ItemIndex:=0;
i_descrip_1.Clear;
end;procedure TForm1.Button2Click(Sender: TObject);
var
counter:integer;
begin
T_stud_info_1.Open;
if T_stud_info_1.RecordCount>0 then //确认学号是否存在
begin
T_counter_c.Open;
counter:=T_counter_c['COUNTER_VALUE'];
Inc(counter); //累加学籍变更计数器
T_counter_c.Edit;
T_counter_c['COUNTER_VALUE']:=counter;
T_counter_c.Post;
T_change.Open;
//T_change.Edit;
T_change.AppendRecord([counter, i_stud_id_1.text, i_change.ItemIndex, Now, i_descrip_1.text]);
Button1Click(nil);
end
else
Application.MessageBox('请确认输入的学号是否正确!', '错误', MB_OK);
end;procedure TForm1.Button4Click(Sender: TObject);
begin
i_stud_id_2.Text:='';
i_reward_level.ItemIndex:=0;
i_descrip_2.Clear;
end;procedure TForm1.Button6Click(Sender: TObject);
begin
i_stud_id_3.Text:='';
i_punish_level.ItemIndex:=0;
i_descrip_3.Clear;
end;procedure TForm1.i_stud_id_2Change(Sender: TObject);
begin
T_stud_info_1.Filter:='ID='''+i_stud_id_2.Text+'''';
T_stud_info_1.Filtered:=True;
T_stud_info_1.Open;
T_class_info_1.Open;
T_depart_info_1.Open;
end;procedure TForm1.i_stud_id_3Change(Sender: TObject);
begin
T_stud_info_1.Filter:='ID='''+i_stud_id_3.Text+'''';
T_stud_info_1.Filtered:=True;
T_stud_info_1.Open;
T_class_info_1.Open;
T_depart_info_1.Open;
end;procedure TForm1.Button3Click(Sender: TObject);
var
counter:integer;
begin
T_stud_info_1.Open;
if T_stud_info_1.RecordCount>0 then //确认学号是否存在
begin
T_counter_r.Open;
counter:=T_counter_r['COUNTER_VALUE'];
Inc(counter); //累加奖励记录计数器
T_counter_r.Edit;
T_counter_r['COUNTER_VALUE']:=counter;
T_counter_r.Post;
T_reward.Open;
//T_change.Edit;
T_reward.AppendRecord([counter, i_stud_id_2.text, i_reward_level.ItemIndex, Now, i_descrip_2.text]);
Button4Click(nil);
end
else
Application.MessageBox('请确认输入的学号是否正确!', '错误', MB_OK);
end;procedure TForm1.Button5Click(Sender: TObject);
var
counter:integer;
begin
T_stud_info_1.Open;
if T_stud_info_1.RecordCount>0 then //确认学号是否存在
begin
T_counter_p.Open;
counter:=T_counter_p['COUNTER_VALUE'];
Inc(counter); //累加处罚记录计数器
T_counter_p.Edit;
T_counter_p['COUNTER_VALUE']:=counter;
T_counter_p.Post;
T_punish.Open;
//T_change.Edit;
T_punish.AppendRecord([counter, i_stud_id_3.text, i_punish_level.ItemIndex, Now, True, i_descrip_3.text]);
Button6Click(nil);
end
else
Application.MessageBox('请确认输入的学号是否正确!', '错误', MB_OK);
end;procedure TForm1.i_stud_id_4Change(Sender: TObject);
begin
T_stud_info_4.Filter:='ID='''+i_stud_id_4.Text+'''';
T_stud_info_4.Filtered:=True;
T_stud_info_4.Open;
T_class_info_4.Open;
T_depart_info_4.Open;
T_change_4.Open;
T_change_code_4.Open;
T_reward_4.Open;
T_reward_level_4.Open;
T_punish_4.Open;
T_punish_level_4.Open;
end;procedure TForm1.Button7Click(Sender: TObject);
begin
T_stud_info_4.Post;
end;procedure TForm1.Button8Click(Sender: TObject);
begin
T_stud_info_4.Cancel;
end;procedure TForm1.Button9Click(Sender: TObject);
begin
T_change_4.Post;
end;procedure TForm1.Button10Click(Sender: TObject);
begin
T_change_4.Cancel;
end;procedure TForm1.Button11Click(Sender: TObject);
begin
T_reward_4.Post;
end;procedure TForm1.Button12Click(Sender: TObject);
begin
T_reward_4.Cancel;
end;procedure TForm1.Button13Click(Sender: TObject);
begin
T_punish_4.Post;
end;procedure TForm1.Button14Click(Sender: TObject);
begin
T_punish.Cancel;
end;end.
会不会小了一些阿,我们是学校用的,.
最好用大一些的数据库,这位大哥,能不能在给一点详细的建议