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

📄 unit1.~pas

📁 全国省市统计,界面友好.操作简单,里面还有源代码.
💻 ~PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, ADODB, ExtCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Button3: TButton;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    ListBox1: TListBox;
    ListBox2: TListBox;
    Label3: TLabel;
    Label4: TLabel;
    Timer1: TTimer;
    Button2: TButton;
    Button4: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure ListBox2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
    if Trim(Edit1.Text) = '' then
    begin
      ShowMessage('省份不能为空');
      Edit1.SetFocus;
    end else
    if Trim(Edit2.Text) = '' then
    begin
      ShowMessage('市不能为空');
      Edit2.SetFocus;
    end else
    if (ListBox1.Items[ListBox1.ItemIndex] = Edit1.Text) and (ListBox2.Items[ListBox2.ItemIndex] = Edit2.Text) then
    begin
       ShowMessage('没有改变不需要修改');
       Edit2.SetFocus;
    end else
    begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from province order by province');
        ADOQuery1.Open;
        while not ADOQuery1.Eof do
        begin
          if  ADOQuery1.FieldByName('city').AsString = ListBox2.Items[ListBox2.ItemIndex] then
          begin
            ADOQuery1.Edit;
            ADOQuery1.FieldByName('province').AsString := Trim(Edit1.Text);
            ADOQuery1.FieldByName('city').AsString := Trim(Edit2.Text);
            ADOQuery1.Post;
            ShowMessage('修改成功');
          end;
          ADOQuery1.Next;
        end;
        ADOQuery1.Close;
        if ListBox1.Items[ListBox1.ItemIndex] <> Edit1.Text then
          Timer1.Enabled := True
        else
          self.ListBox1Click(Sender);
        Edit2.Text := '';
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    if Trim(Edit1.Text) = '' then
    begin
      ShowMessage('省份不能为空');
      Edit1.SetFocus;
    end else
    if Trim(Edit2.Text) = '' then
    begin
      ShowMessage('市不能为空');
      Edit2.SetFocus;
    end else
    begin
      begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from province where province='''+Trim(Edit1.Text)+''' and city='''+Trim(Edit2.Text)+'''');
        ADOQuery1.Open;
        if  ADOQuery1.RecordCount>0 then
          ShowMessage('该纪录已存在!')
        else
        begin
            ADOQuery1.Append;
            ADOQuery1.FieldByName('province').AsString := Trim(Edit1.Text);
            ADOQuery1.FieldByName('city').AsString := Trim(Edit2.Text);
            ADOQuery1.Post;
            ShowMessage('添加成功');
        end;
        ADOQuery1.Close;
        if ListBox1.ItemIndex < 0 then
          Timer1.Enabled := True
        else
          self.ListBox1Click(Sender);
        Edit2.Text := '';
      end;
    end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
    Close;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
    Timer1.Enabled := False;
    ListBox1.Items.Clear;
    ListBox2.Items.Clear;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select  distinct(province) from province order by province');
    ADOQuery1.Prepared;
    ADOQuery1.Open;
    while not ADOQuery1.Eof do
    begin
        ListBox1.Items.Add(ADOQuery1.Fieldbyname('province').AsString);
        ADOQuery1.Next;
    end;
    ADOQuery1.Close;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var p_name:string;
begin
    if ListBox1.ItemIndex < 0 then exit;
    p_name := ListBox1.Items[ListBox1.ItemIndex];
    Edit1.Text := p_name;
    Edit2.Text := '';
    ListBox2.Items.Clear;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select city from province where province=''' + p_name + '''order by city');
    ADOQuery1.Prepared;
    ADOQuery1.Open;
    while not ADOQuery1.Eof do
    begin
        ListBox2.Items.Add(ADOQuery1.Fieldbyname('city').AsString);
        ADOQuery1.Next;
    end;
    ADOQuery1.Close;
end;

procedure TForm1.ListBox2Click(Sender: TObject);
var c_name:string;
begin
    if ListBox2.ItemIndex < 0 then
    begin
      exit;
    end;
    c_name := ListBox2.Items[ListBox2.ItemIndex];
    Button2.Enabled := True;
    Button4.Enabled := True;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select province from province where city=''' + c_name + '''');
    ADOQuery1.Prepared;
    ADOQuery1.Open;
    if ADOQuery1.RecordCount > 0 then
    begin
        Edit1.Text := ADOQuery1.FieldByName('province').AsString;
        Edit2.Text := c_name;
    end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    Timer1.Enabled := True;
end;


procedure TForm1.Button4Click(Sender: TObject);
begin
    if Trim(Edit1.Text) = '' then
    begin
      ShowMessage('省份不能为空');
      Edit1.SetFocus;
    end else
    if Trim(Edit2.Text) = '' then
    begin
      ShowMessage('市不能为空');
      Edit2.SetFocus;
    end else
    begin
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from province where province='''+Trim(Edit1.Text)+''' and city='''+Trim(Edit2.Text)+'''');
        ADOQuery1.Open;
        if  ADOQuery1.RecordCount=0 then
          ShowMessage('没有这条纪录!')
        else
        begin
            ADOQuery1.Delete;
            //ADOQuery1.Post;
            ShowMessage('删除成功');
        end;
        self.ListBox1Click(Sender);
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('select * from province where province='''+Trim(Edit1.Text)+'''');
        ADOQuery1.Open;
        if  ADOQuery1.RecordCount=0 then
          Timer1.Enabled := True;
        Edit1.Text := '';

        ADOQuery1.Close;
    end;
end;

end.

⌨️ 快捷键说明

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