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

📄 editproduct.pas

📁 一个全面的客户管理系统,是用delphi开发的,界面和功能都很不错的
💻 PAS
字号:
unit Editproduct;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, RzTabs, ExtCtrls, RzPanel, RzButton, DBCtrls, RzDBNav, StdCtrls,
  ComCtrls, RzDBEdit, RzCmboBx, RzDBCmbo, Mask, RzEdit, DB;

type
  TEditProductForm = class(TForm)
    RzGroupBox1: TRzGroupBox;
    Label1: TLabel;
    RzDBEdit1: TRzDBEdit;
    Label2: TLabel;
    RzDBEdit2: TRzDBEdit;
    Label3: TLabel;
    Label4: TLabel;
    RzDBEdit3: TRzDBEdit;
    Label5: TLabel;
    RzDBEdit4: TRzDBEdit;
    Label6: TLabel;
    Label7: TLabel;
    RzDBEdit5: TRzDBEdit;
    RzDBNavigator1: TRzDBNavigator;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzDBComboBox1: TRzDBComboBox;
    RzDBMemo1: TRzDBMemo;
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure RzDBEdit1Exit(Sender: TObject);
    //检测可能存在的重复编号及重复产品信息
    procedure TestProduct(ID:integer);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  EditProductForm: TEditProductForm;

implementation

uses DM;

{$R *.dfm}

procedure TEditProductForm.RzBitBtn1Click(Sender: TObject);
begin
  //保存
  if DM1.ADODataSet5.Modified then
     DM1.ADODataSet5.UpdateBatch;
  Close;
end;

procedure TEditProductForm.RzBitBtn2Click(Sender: TObject);
begin
   Close;
end;

procedure TEditProductForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//不保存退出
    DM1.ADODataSet5.Cancel;
end;

procedure TEditProductForm.RzDBEdit1Exit(Sender: TObject);
begin
//检测可能存在的重复编号
  TestProduct(TRzDBEdit(sender).Tag);
end;

procedure TEditProductForm.TestProduct(ID: integer);
var
   Key : array [1..2] of String;
   Text: array [1..2] of String;
begin
//检测可能存在的重复编号及重复产品信息
Key[1]  := 'ID';
Key[2]  := 'ProductName';
Text[1] := RzDBEdit1.Text;
Text[2] := RzDBEdit2.Text;

with DM1.ADOQuery1 do try
   Close;
   SQL.Clear;
   SQL.Add('Select * from ProductInfo where '+Key[ID]+'=:PM');
   Parameters.ParamByName('PM').Value:=Text[ID];
   Open;
   if ID=1 then
      Key[ID]:='ID';

   if ((DM1.ADODataSet5.State in[dsEdit])and(RecordCount=1)and(RzDBEdit1.Text<>DM1.ProductNo[ID]))or
      ((DM1.ADODataSet5.State in[dsInsert])and(RecordCount>0))then begin
      Messagebox(handle,pchar('您输入的“'+Key[ID]+'”已存在,请重新输入!'),'错误',MB_OK+MB_ICONERROR);
      case ID of
         1 : begin
               RzDBEdit1.SetFocus;
               RzDBEdit1.Undo;
             end;
         2 : begin
               RzDBEdit2.SetFocus;
               RzDBEdit2.Undo;
             end;
      end;
   end;
except
end;
end;

procedure TEditProductForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
  if DM1.ADODataSet5.State in[dsEdit,dsInsert] then begin
     if Messagebox(handle,'您确定要放弃对产品信息的修改吗?','询问',MB_YESNO+MB_ICONQUESTION)=IDYES then
        CanClose:=true
     else CanClose:=false;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -