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

📄 unit_main.pas

📁 连接本地access数据文件
💻 PAS
字号:
unit Unit_Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, Grids, DBGrids, Mask, ComCtrls, DB;

type
  Tfrm_Main = class(TForm)
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Edit_interval: TMaskEdit;
    UpDown2: TUpDown;
    Button1: TButton;
    Label4: TLabel;
    Edit_Search: TEdit;
    GroupBox3: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Btn_Insert_One: TButton;
    MaskEdit_NO: TMaskEdit;
    UpDown1: TUpDown;
    Button3: TButton;
    Edit_String: TMaskEdit;
    Btn_Delete: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Btn_Insert_OneClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Btn_DeleteClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure Edit_SearchKeyPress(Sender: TObject; var Key: Char);
    procedure MaskEdit_NOChange(Sender: TObject);
    procedure Edit_StringKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    intMaxNo: Integer;
    function myInsertOne(intString_No:Integer;strString_Item:String): boolean;
  public
    { Public declarations }
  end;

var
  frm_Main: Tfrm_Main;

implementation

uses Unit_About, Unit_Data_Module;

{$R *.dfm}


procedure Tfrm_Main.FormCreate(Sender: TObject);
begin
    //刷新显示
  Examine_Data.RefreshDisp();
  intMaxNo := Examine_Data.myGetMaxNo();
  UpDown1.Position := intMaxNo;
  UpDown2.Position := 0;
end;

procedure Tfrm_Main.Btn_Insert_OneClick(Sender: TObject);
begin
  if trim(Edit_String.Text) = '' then
  begin
    MessageBox(Handle,'请输入要录入数据库的字符串!','提示信息',mb_ok+mb_iconExclamation);
    Edit_String.SetFocus();
    Exit;
  end;
  if myInsertOne(StrToInt(Trim(MaskEdit_NO.Text)),Edit_String.Text) then
  begin
    intMaxNo := Examine_Data.myGetMaxNo();
    UpDown1.Position := intMaxNo;
    MessageBox(Handle,'录入成功!','提示信息',mb_ok+mb_iconInformation);
    Edit_String.SetFocus;
    Edit_String.SelectAll;    
    //刷新显示
    Examine_Data.RefreshDisp();
  end
  else
    MessageBox(Handle,'录入失败!','提示信息',mb_ok+mb_iconExclamation);

end;

function Tfrm_Main.myInsertOne(intString_No:Integer;strString_Item:String): boolean;
var
  strMyCmd: String;
begin
  strMyCmd := 'Insert into '+StringTable+'(String_NO,String_Item) values('+
    IntToStr(intString_No)+','''+strString_Item+''')';
  myInsertOne := Examine_Data.myExecuteCmd(strMyCmd);
end;

procedure Tfrm_Main.Button1Click(Sender: TObject);
var
    strQuery: String;
    intInterval: Integer;
    myResult:LongInt;
begin
    strQuery := Edit_Search.Text;
    intInterval := StrToInt(Trim(Edit_Interval.Text));
//    if strQuery = '' then
//    begin
//        MessageBox(Handle,'请输入要查询的字符串!','提示信息',mb_ok+mb_iconExclamation);
//        Edit_String.SetFocus();
//        Exit;
//    end;
    myResult := Examine_Data.myDispQueryData(strQuery,intInterval);
    if myResult >= 0 then
        MessageBox(Handle,PChar('查询成功!'+chr(13)+chr(10)+'共查询到' + IntToStr(myResult)+'条数据'),'提示信息',mb_ok+mb_iconInformation)
    else
        MessageBox(Handle,'查询失败!','提示信息',mb_ok+mb_iconExclamation);
end;

procedure Tfrm_Main.Button3Click(Sender: TObject);
begin
    frm_About.ShowModal;
end;

procedure Tfrm_Main.Btn_DeleteClick(Sender: TObject);
var
  strMyCmd: String;
  intLine:  Integer;
  tempBookMark   :   TbookMark;   
begin
    for intLine := 1 to DBGrid1.SelectedRows.Count do
    begin
        DBGrid1.Datasource.Dataset.Bookmark := dbgrid1.SelectedRows.Items[intLine - 1];     //重要的在这里,取得BOOKMARK
        TempBookmark   :=   DBGrid1.Datasource.Dataset.GetBookmark;
        DBGrid1.Datasource.Dataset.GotoBookmark(TempBookmark);

        strMyCmd := 'delete from '+StringTable+' where string_no = '+ IntToStr(Dbgrid1.DataSource.DataSet.fieldbyname('String_No').AsInteger);
        //ShowMessage(strMyCmd);
        if not Examine_Data.myExecuteCmd(strMyCmd) then
        begin
            MessageBox(Handle,'删除失败!','提示信息',mb_ok+mb_iconExclamation);
            //刷新显示
            Examine_Data.RefreshDisp();
            exit;
        end;
    end;
    intMaxNo := Examine_Data.myGetMaxNo();
    UpDown1.Position := intMaxNo;
    MessageBox(Handle,'删除成功!','提示信息',mb_ok+mb_iconInformation);
    //刷新显示
    Examine_Data.RefreshDisp();

end;

procedure Tfrm_Main.FormKeyPress(Sender: TObject; var Key: Char);
begin
    if Key = chr(27) then
        Close;
end;

procedure Tfrm_Main.Edit_SearchKeyPress(Sender: TObject; var Key: Char);
begin
    if Key = chr(13) then
        Button1.Click;
end;

procedure Tfrm_Main.MaskEdit_NOChange(Sender: TObject);
begin
    try
        if trim(MaskEdit_NO.Text) <> '' then
            Updown1.Position := StrToInt(trim(MaskEdit_NO.Text));
    except
    end;
end;

procedure Tfrm_Main.Edit_StringKeyPress(Sender: TObject; var Key: Char);
begin
    if Key = chr(13) then
        Btn_Insert_One.Click;
end;

end.

⌨️ 快捷键说明

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