📄 speciality.~pas
字号:
unit speciality;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons, DB, DBTables;
type
TSpecialityForm = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Database1: TDatabase;
DataSource1: TDataSource;
Query1: TQuery;
Query1name: TStringField;
Query1units: TStringField;
Query1length: TIntegerField;
Query1score: TIntegerField;
Query1type: TStringField;
Query1operator: TStringField;
Query1stamp: TDateTimeField;
procedure BitBtn2Click(Sender: TObject);
procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
procedure FormActivate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initiate;
procedure LoadFromTable;
end;
var
SpecialityForm: TSpecialityForm;
implementation
uses main;
{$R *.dfm}
procedure TSpecialityForm.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TSpecialityForm.Database1Login(Database: TDatabase;
LoginParams: TStrings);
begin
loginparams.Clear;
loginparams.add('user_name=administator');
loginparams.Add('password=650124');
end;
procedure TSpecialityForm.FormActivate(Sender: TObject);
begin
DBGrid1.DataSource:=datasource1;
dbgrid1.ReadOnly:=true;
datasource1.DataSet:=query1;
query1.Close;
query1.sql.clear;
query1.sql.add('select * from speciality');
query1.open;
initiate;
if not query1.IsEmpty then
begin
LoadFromTable;
Edit1.Enabled:=false;
Edit2.SetFocus;
RadioButton2.Checked:=true;
end
else
begin
Edit1.setfocus;
RadioButton1.Checked:=true;
RadioButton2.Enabled:=false;
RadioButton3.Enabled:=false;
end;
query1name.DisplayLabel:='专业名';
query1units.DisplayLabel:='所属院系';
query1length.DisplayLabel:='修学年限';
query1score.DisplayLabel:='所需学分';
query1type.DisplayLabel:='入学要求';
query1operator.DisplayLabel:='操作员';
query1stamp.DisplayLabel:='最后修改时间';
end;
procedure TSpecialityForm.initiate;
begin
edit1.text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
end;
procedure TSpecialityForm.LoadFromTable;
begin
edit1.text:=Query1.fieldbyname('name').asstring;
edit2.text:=Query1.fieldbyname('units').asstring;
edit4.text:=IntToStr(Query1.fieldbyname('length').asInteger);
edit5.text:=IntToStr(Query1.fieldbyname('score').asInteger);
edit3.text:=Query1.fieldbyname('type').asstring;
end;
procedure TSpecialityForm.RadioButton1Click(Sender: TObject);
begin
initiate;
Edit1.Enabled:=true;
Edit1.SetFocus;
end;
procedure TSpecialityForm.RadioButton2Click(Sender: TObject);
begin
Edit1.Enabled:=false;
Edit2.SetFocus;
end;
procedure TSpecialityForm.Query1AfterScroll(DataSet: TDataSet);
begin
LoadFromTable;
end;
procedure TSpecialityForm.BitBtn1Click(Sender: TObject);
begin
query1.Close;
query1.sql.clear;
if radiobutton1.Checked then
begin
query1.sql.add('insert into speciality values(:s0,:s1,:s2,:s3,:s4,:s5,:s6)');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit1.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=edit2.text;
query1.Params.CreateParam(ftinteger,'s2',ptinput);
query1.Params[2].Value:=StrToInt(edit4.text);
query1.Params.CreateParam(ftinteger,'s3',ptinput);
query1.Params[3].Value:=StrToInt(edit5.text);
query1.Params.CreateParam(ftstring,'s4',ptinput);
query1.Params[4].Value:=edit3.text;
query1.Params.CreateParam(ftstring,'s5',ptinput);
query1.Params[5].Value:=username;
query1.Params.CreateParam(ftdatetime,'s6',ptinput);
query1.Params[6].Value:=Date();
end
else if radiobutton2.checked then
begin
query1.sql.add('update speciality set units=:s0,length=:s1,score=:s2,type=:s3,operator=:s4,stamp=:s5 where name=:s6');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit2.text;
query1.Params.CreateParam(ftinteger,'s1',ptinput);
query1.Params[1].Value:=StrToInt(edit4.text);
query1.Params.CreateParam(ftinteger,'s2',ptinput);
query1.Params[2].Value:=StrToInt(edit5.text);
query1.Params.CreateParam(ftstring,'s3',ptinput);
query1.Params[3].Value:=edit3.text;
query1.Params.CreateParam(ftstring,'s4',ptinput);
query1.Params[4].Value:=username;
query1.Params.CreateParam(ftdatetime,'s5',ptinput);
query1.Params[5].Value:=Date();
query1.Params.CreateParam(ftstring,'s6',ptinput);
query1.Params[6].Value:=edit1.text;
end
else
begin
query1.SQL.Add('delete from speciality where name=:s0');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit1.text;
end;
query1.Prepare;
query1.ExecSQL;
query1.close;
query1.SQL.clear;
query1.SQL.Add('select * from speciality');
query1.Params.clear;
query1.open;
if not query1.IsEmpty then
begin
LoadFromTable;
radioButton2.Checked:=true;
RadioButton2.Enabled:=true;
radioButton3.Enabled:=true;
end
else
begin
RadioButton1.checked:=true;
RadioButton2.Enabled:=false;
RadioButton3.Enabled:=false;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -