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

📄 kq_bzze.pas

📁 感应IC卡电脑考勤、门禁、售饭一卡通管理系统是基于我公司开发生产的ESW型智能卡记录器所具有的对持卡人刷卡卡号、时间、次数进行读取贮存等功能
💻 PAS
字号:
unit Kq_BzzE;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Mask, DBCtrls, ExtCtrls, Db, ObeyTable, Buttons,
  CodeEd, OleCtnrs, ComCtrls, TimeIntField, Grids, DBGrids, ADODB,Variants,
  ADOQry;

type
  TfrmKq_BzzE = class(TForm)
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    DBGrid1: TDBGrid;
    qryBzdyL: TADOQry;
    qryBzdyLCode: TStringField;
    qryBzdyLName: TStringField;
    qryBzdyLBcCount: TSmallintField;
    qryBzdyLZbSj: TFloatField;
    qryBzdyLJbSj: TFloatField;
    qryBzdyLNote: TStringField;
    DataSource3: TDataSource;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    cmdOK: TBitBtn;
    cmdCancel: TBitBtn;
    Label3: TLabel;
    qryBzdy: TADOQry;
    qryBzdySessionID: TIntegerField;
    qryBzdyCode: TStringField;
    qryBzdyName: TStringField;
    qryBzdyBcCount: TSmallintField;
    qryBzdyIfFdJcsj: TBooleanField;
    qryBzdyZbSj: TFloatField;
    qryBzdyJbSj: TFloatField;
    qryBzdyNote: TStringField;
    qryBzdyNoteUser: TStringField;
    qryBzdyNoteGen: TStringField;
    qryBzdyIfJb6: TBooleanField;
    qryBzdyIfJb7: TBooleanField;
    qryBzdyIfJb9: TBooleanField;
    qryBzdyD: TADOQry;
    qryBzdyDBzCode: TStringField;
    qryCodeChk: TADOQry;
    qryNew: TADOQry;
    qryNewID: TIntegerField;
    Label4: TLabel;
    DBEdit3: TDBEdit;
    qryEditD: TADOQuery;
    qryEditDID: TAutoIncField;
    qryEditDBzID: TIntegerField;
    qryEditDBzCode: TStringField;
    qryEdit: TADOQuery;
    qryEditID: TIntegerField;
    qryEditSessionID: TIntegerField;
    qryEditCode: TStringField;
    qryEditName: TStringField;
    qryEditNote: TStringField;
    qryEditNoteUser: TStringField;
    qryEditNoteGen: TStringField;
    qryEditIfBzz: TBooleanField;
    qryEditBcCount: TSmallintField;
    qryEditIfFdJcsj: TBooleanField;
    qryEditZbSj: TFloatField;
    qryEditJbSj: TFloatField;
    qryEditIfJb6: TBooleanField;
    qryEditIfJb7: TBooleanField;
    qryEditIfJb9: TBooleanField;
    procedure cmdOKClick(Sender: TObject);
    procedure qryEditPostError(DataSet: TDataSet; E: EDatabaseError;
      var Action: TDataAction);
    procedure RadioButton8Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure qryEditNewRecord(DataSet: TDataSet);
  private
  	lIsNew :Boolean;
    { Private declarations }
  public
	Function Add(tnSession:integer):Boolean;
	Function CopyAdd(tnID:integer):Boolean;
	Function Edit(tnID:integer):Boolean;
	{ Public declarations }
  end;

var
  frmKq_BzzE: TfrmKq_BzzE;

implementation

uses SelfFunc, Kq_Bzdy;

{$R *.DFM}

Function TfrmKq_BzzE.Add(tnSession:integer):Boolean;
begin
	lIsNew :=True;

    Self.SelectFirst;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=Null();
        Open;
        Append;
	end;
	NewRecDefa(qryEdit, ['Name', '', 'IfFdJcsj',False
    	,'SessionID',tnSession
        ,'IfJb6',False, 'IfJb7',False, 'IfJb9',False
        ,'BcCount',0]);
    with qryBzdyL do
    begin
    	Close;
        Parameters[0].Value :=tnSession;
        Open;
	end;

    Result :=(Self.ShowModal() =mrOK);
end;

Function TfrmKq_BzzE.CopyAdd(tnID:integer):Boolean;
var i :integer;
begin
	lIsNew :=True;

    with qryBzdy do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
    end;
    qryEdit.Append;
    for i :=0 to qryBzdy.FieldCount -1 do
        qryEdit.FieldByName(qryBzdy.Fields[i].FieldName).Value
            := qryBzdy.Fields[i].Value;
    qryEditCode.Value :='';


    with qryBzdyL do
    begin
    	Close;
        Parameters[0].Value :=qryBzdySessionID.Value;
        Open;
	end;
    with qryBzdyD do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	end;
    while not qryBzdyD.Eof do
    begin
    	if qryBzdyL.Locate('Code', qryBzdyDBzCode.Value, []) then
        	DBGrid1.SelectedRows.CurrentRowSelected :=True;
    	qryBzdyD.Next;
    end;
    if not qryBzdyL.IsEmpty then qryBzdyL.First;

    Self.SelectFirst;
    Result :=(Self.ShowModal() =mrOK);
end;

Function TfrmKq_BzzE.Edit(tnID:integer):Boolean;
begin
	lIsNew :=False;

    Self.ActiveControl :=cmdCancel;
    with qryEdit do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	end;

    with qryBzdyL do
    begin
    	Close;
        Parameters[0].Value :=qryEditSessionID.Value;
        Open;
	end;
    with qryEditD do
    begin
    	Close;
        Parameters[0].Value :=tnID;
        Open;
	end;
    while not qryEditD.Eof do
    begin
    	if qryBzdyL.Locate('Code', qryEditDBzCode.Value, []) then
        	DBGrid1.SelectedRows.CurrentRowSelected :=True;
    	qryEditD.Next;
    end;
    if not qryBzdyL.IsEmpty then qryBzdyL.First;

    Result :=(Self.ShowModal() =mrOK);
end;

procedure TfrmKq_BzzE.cmdOKClick(Sender: TObject);
var i, nID :integer;
	tsNote :string;
begin
    if not ValidRecord(qryEdit, ['Code',vrvEmpty
    			,'Name',vrvEmpty])
    	then Exit;
    if qryBzdyL.IsEmpty or (DBGrid1.SelectedRows.Count <=1) then
    begin
    	MsgBox('叫匡拒

⌨️ 快捷键说明

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