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

📄 groupadd.pas

📁 专家抽取系统1.0 是用Delphi6.0 开发的一款用于招投标,评审过程中从专家库中抽取专家的软件。可以将抽取结果导入到Excel或Word文档中
💻 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 + -