📄 unit1.~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 + -