📄 unit9.~pas
字号:
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
type
TForm9 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
ADOQuery2: TADOQuery;
Label4: TLabel;
ComboBox1: TComboBox;
Edit2: TEdit;
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
procedure ComboboxList1;
implementation
{$R *.dfm}
procedure ComboboxList1;
begin
form9.adoquery1.Close;
form9.adoquery1.SQL.Clear;
form9.adoquery1.SQL.Add('select distinct 系部编号,系部名称 from 系部班级');
form9.adoquery1.Open;
form9.ComboBox1.Items.Clear;
form9.adoquery1.First;
while not form9.adoquery1.Eof do
begin
//将系部编号和系部名称添加到组合框中
form9.ComboBox1.Items.Add(form9.adoquery1.Fieldbyname('系部编号').value
+'/'+form9.adoquery1.Fieldbyname('系部名称').value);
form9.adoquery1.Next;
end;
end;
procedure TForm9.Button3Click(Sender: TObject);
var
xbbh,xbmc,s1: string;
i:integer;
begin
if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
application.MessageBox('数据不完整!','提示',mb_ok)
else
begin
xbbh:=trim(ADOQuery2.fieldbyname('班级编号').Value);
xbmc:=trim(ADOQuery2.fieldbyname('班级名称').Value);
if (xbbh=trim(edit1.Text)) and (xbmc=trim(edit2.Text)) then
application.MessageBox('数据未改变!','提示',mb_ok)
else
try
s1:=trim(ComboBox1.Text);
i:=pos('/',s1);
if i>0 then
xbbh:=copy(s1,1,i-1)
else
xbbh:='';
adoquery1.close;
adoquery1.sql.clear;
s1:='update 班级表 set 班级名称='+quotedstr(trim(edit2.Text))
+' where 系部编号='+quotedstr(xbbh)
+' and 班级编号='+quotedstr(trim(edit1.Text));
Adoquery1.sql.add(s1);
Adoquery1.ExecSQL;
adoquery2.Requery();
application.MessageBox('班级名称修改成功!','提示',mb_ok);
except
on E: Exception do
messagedlg(E.Message,mterror,[mbok],0);
end;
end;
end;
procedure TForm9.Button2Click(Sender: TObject);
var
i:integer;
s1,xbbh:string;
begin
if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
application.MessageBox('未选择要删除的纪录!','提示',mb_ok)
else if application.MessageBox('你确实要删除当前纪录吗?','警告!',mb_okcancel)=idok then
begin
s1:=trim(ComboBox1.Text);
i:=pos('/',s1);
if i>0 then
xbbh:=copy(s1,1,i-1)
else
xbbh:='';
adoquery1.close;
adoquery1.sql.clear;
Adoquery1.sql.add('delete from 班级表 where 系部编号='+quotedstr(xbbh)
+' and 班级编号='+quotedstr(trim(edit1.Text)));
Adoquery1.ExecSQL;
adoquery2.Requery();
//或者使用下面的1条语句替代上面5条语句
//adoquery2.Delete;
application.MessageBox('班级纪录删除成功!','提示',mb_ok);
end;
end;
procedure TForm9.FormActivate(Sender: TObject);
begin
comboboxlist1;
dbgrid1.DataSource.AutoEdit:=false;
edit1.ReadOnly:=True;
edit1.Text:='';
edit2.Text:='';
end;
procedure TForm9.Button1Click(Sender: TObject);
begin
form9.Close ;
end;
procedure TForm9.ComboBox1Change(Sender: TObject);
var
i:integer;
s1,xbbh:string;
begin
s1:=trim(ComboBox1.Text);
i:=pos('/',s1);
if i>0 then
xbbh:=copy(s1,1,i-1)
else
xbbh:='';
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select 班级编号,班级名称 from 班级表'
+' where 系部编号='+quotedstr(xbbh));
adoquery2.Open;
end;
procedure TForm9.DBGrid1CellClick(Column: TColumn);
begin
if not ADOQuery2.fieldbyname('班级编号').IsNull then
edit1.Text:=trim(ADOQuery2.fieldbyname('班级编号').Value)
else
edit1.Text:='';
if not ADOQuery2.fieldbyname('班级名称').IsNull then
edit2.Text:=trim(ADOQuery2.fieldbyname('班级名称').Value)
else
edit2.Text:='';
end;
procedure TForm9.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=VK_UP) or (key=VK_DOWN) then
begin
if not ADOQuery2.fieldbyname('班级编号').IsNull then
edit1.Text:=trim(ADOQuery2.fieldbyname('班级编号').Value)
else
edit1.Text:='';
if not ADOQuery2.fieldbyname('班级名称').IsNull then
edit2.Text:=trim(ADOQuery2.fieldbyname('班级名称').Value)
else
edit2.Text:='';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -