📄 groupadd.pas
字号:
unit GroupAdd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Mask, DBCtrls, DB, ADODB;
type
TfrmGroupAdd = class(TForm)
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
btnSave: TButton;
btnCancel: TButton;
btnAdd: TButton;
ADOQryGroup: TADOQuery;
ADOQryMaxID: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmGroupAdd: TfrmGroupAdd;
implementation
uses Main;
{$R *.dfm}
procedure TfrmGroupAdd.FormCreate(Sender: TObject);
begin
//打开数据集,增加一条空记录
with ADOQryGroup do begin
Connection:=frmMain.ADOConnection1;
Close;
SQL.Clear;
SQL.Add('select * from ExpertGroup Order by 组ID asc ');
Prepared :=true;
Open; //select语句需用Open方法执行
end;
btnAddClick(btnAdd);
end;
procedure TfrmGroupAdd.btnSaveClick(Sender: TObject);
var
ListItem: TListItem;
// i: integer;
begin
if VarIsnull(DBedit1.Text) then
begin
Application.MessageBox('[组 ID] 为空值,没有输入,无法保存','提示信息',MB_OK);
exit;
end;
if Trim(DBedit1.Text)='' then
begin
Application.MessageBox('[组 ID] 没有输入,无法保存','提示信息',MB_OK);
exit;
end;
if VarIsnull(DBedit2.Text) then
begin
Application.MessageBox('[组 名] 为空值,没有输入,无法保存','提示信息',MB_OK);
exit;
end;
if Trim(DBedit2.Text)='' then
begin
Application.MessageBox('[组 名] 没有输入,无法保存','提示信息',MB_OK);
exit;
end;
ADOQryGroup.post;
//刷新主界面的专家组表
frmMain.ADOTblGroup.Active :=false;
frmMain.ADOTblGroup.Active :=True;
//定位到新增的专家组
frmMain.ADOTblGroup.Locate('组ID',ADOQryGroup.FieldValues['组ID'],[loCaseInsensitive]);
GGroupCount :=GGroupCount+1;
SetLength(ArrGroupId, GGroupCount); //设置动态数组的大小
//向主界面的Listview添加新的Item
with frmMain.ListView1 do
begin
Listitem :=Items.add;
Listitem.caption := VarToStr(frmMain.ADOTblGroup.FieldValues['组名']);
Listitem.Imageindex := gImgindex;
//向GroupId数组添加新的组ID
ArrGroupId[GGroupCount-1] := frmMain.ADOTblGroup.FieldByName('组ID').AsString;
end;
if not frmMain.ADOTblGroup.Eof then
begin
sGGroupId :=frmMain.ADOTblGroup.FieldValues['组ID'];
sGGroupName :=frmMain.ADOTblGroup.FieldValues['组名'];
frmMain.ListView1.Items[GGroupCount-1].Focused :=true;
frmMain.ListView1.Items[GGroupCount-1].Selected:=true;
end;
frmMain.StatusBar1.Panels[0].Text :='共 ' + varToStr(GGroupCount) +' 组';
btnAddClick(btnAdd);
DBEdit2.SetFocus;
end;
procedure TfrmGroupAdd.btnCancelClick(Sender: TObject);
begin
close;
end;
procedure TfrmGroupAdd.btnAddClick(Sender: TObject);
begin
//取出最大的编号
with ADOQryMaxID do begin
Connection:=frmMain.ADOConnection1;
Close;
SQL.Clear;
SQL.Add('select * from ExpertGroup Order by 组ID desc');
Prepared :=true;
Open; //select语句需用Open方法执行
end;
ADOQryMaxID.First;
ADOQryGroup.Append;
if not ADOQryMaxID.Eof then
ADOQryGroup.FieldValues['组ID']:=IntToStr( StrToInt(ADOQryMaxID.FieldValues['组ID'])+1 )
else
ADOQryGroup.FieldValues['组ID']:='1'; //编号从 1 开始
end;
procedure TfrmGroupAdd.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ADOQryGroup.Cancel;
end;
procedure TfrmGroupAdd.FormShow(Sender: TObject);
begin
frmGroupAdd.Caption :='增加组' ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -