📄 pas_client.pas
字号:
unit pas_client;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls,
ToolWin;
type
TForm_client = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit_no: TEdit;
Edit_name: TEdit;
Edit_phone: TEdit;
Edit_tel: TEdit;
Edit_addr: TEdit;
Label9: TLabel;
Edit_remarks: TEdit;
DBGrid: TDBGrid;
ToolBar1: TToolBar;
valid: TSpeedButton;
ToolButton1: TToolButton;
unValid: TSpeedButton;
ToolButton2: TToolButton;
setUnvalid: TSpeedButton;
ToolButton4: TToolButton;
setvalid: TSpeedButton;
ToolButton7: TToolButton;
selecteveryth: TSpeedButton;
ToolButton3: TToolButton;
add: TSpeedButton;
ToolButton5: TToolButton;
select: TSpeedButton;
DBNavigator1: TDBNavigator;
procedure addClick(Sender: TObject);
procedure selecteverything();
procedure selectvalid();
procedure selectunvalid();
procedure selecteverythClick(Sender: TObject);
procedure validClick(Sender: TObject);
procedure unValidClick(Sender: TObject);
procedure setUnvalidClick(Sender: TObject);
procedure setvalidClick(Sender: TObject);
procedure selectClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure DBGridCellClick(Column: TColumn);
procedure DBGridDblClick(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_client: TForm_client;
implementation
uses pas_dm;
{$R *.dfm}
procedure TForm_client.addClick(Sender: TObject);
var
s:string;
begin
if (edit_no.Text='') or (edit_name.Text='') or (edit_phone.Text='')
then
begin
showmessage('编号/中文名/手机不能为空');
exit;
end;
with pas_dm.DM.Query_client do
begin
try
with pas_dm.DM.Query_client do
begin
Close;
SQL.Clear;
s:='insert into client(c_no,c_name,c_ename,c_phone,c_tel,c_addr,c_remarks,c_validorno) values('''+trim(edit_no.Text)+''','''+
edit_name.Text+''','''','''+edit_phone.Text+''','''+
edit_tel.Text+''','''+edit_addr.Text+''','''+edit_remarks.Text+''',1)';
SQL.Add(s);
ExecSQL;
showmessage('添加 '+edit_name.Text+' 成功!');
end;
except
showmessage('添加'+edit_name.Text+'失败!可能是编号重复');
end;
selectvalid;
end;
end;
procedure TForm_client.selecteverything;
begin
with pas_dm.DM.Query_client do
begin
close;
sql.Clear;
sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client ');
open;
end;
end;
procedure TForm_client.selectunvalid;
begin
with pas_dm.DM.Query_client do
begin
close;
sql.Clear;
sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client where c_validorno=0 ');
open;
end;
end;
procedure TForm_client.selectvalid;
begin
with pas_dm.DM.Query_client do
begin
close;
sql.Clear;
sql.Add('select c_no 客户编号,c_name 客户姓名,c_phone 客户手机,c_tel 客户电话,c_addr 客户地址,c_remarks 客户备注 from client where c_validorno=1 ');
open;
end;
end;
procedure TForm_client.selecteverythClick(Sender: TObject);
begin
selecteverything();
end;
procedure TForm_client.validClick(Sender: TObject);
begin
selectvalid;
end;
procedure TForm_client.unValidClick(Sender: TObject);
begin
selectunvalid;
end;
procedure TForm_client.setUnvalidClick(Sender: TObject);
var
s:string;
begin
with pas_dm.DM.Query_client do
begin
if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的客户将被设为无效'),'警告', MB_OKCANCEL)
then
begin
try
s:=dbgrid.Fields[0].AsString;
Close;
SQL.Clear;
SQL.Add('update client set c_validorno=0 where c_no='''+s+'''');
ExecSQL;
except
showmessage('出错');
end;
if RowsAffected=1 then
begin
showmessage(s+'设置无效成功');
end;
end;
end;
selectvalid();
end;
procedure TForm_client.setvalidClick(Sender: TObject);
var
s:string;
begin
with pas_dm.DM.Query_client do
begin
if IDOK=messagebox(handle,pchar('编号为 '+dbgrid.Fields[0].AsString+' 的客户将被设为有效'),'警告', MB_OKCANCEL)
then
begin
try
s:=dbgrid.Fields[0].AsString;
Close;
SQL.Clear;
SQL.Add('update client set c_validorno=1 where c_no='''+s+'''');
ExecSQL;
except
showmessage('出错');
end;
if RowsAffected=1 then
begin
showmessage(s+'设置有效成功');
end;
end;
end;
selectvalid();
end;
procedure TForm_client.selectClick(Sender: TObject);
var
s:string;
begin
s:= ' where c_name like ''%'+trim(edit_name.Text)+'%'' '+
'and c_phone like ''%'+trim(edit_phone.Text)+'%'' ';
with pas_dm.DM.Query_client do
begin
close;
sql.Clear;
sql.Add(' select c_no as 客户编号,'+
' c_name as 客户姓名 ,'+
' c_phone as 手机,'+
' c_tel as 电话,'+
' c_addr as 地址,'+
' c_remarks as 备注'+
' from client '+s);
// showmessage(sql.Text);
open;
end;
end;
procedure TForm_client.FormShow(Sender: TObject);
begin
selectvalid();
end;
procedure TForm_client.DBGridCellClick(Column: TColumn);
begin
with pas_dm.DM.Query_client do
begin
if dbgrid.FieldCount=0 then
begin
showmessage('没有打开数据库');
exit;
end;
if dbgrid.Fields[0].AsString='' then
begin
showmessage('数据库没有数据');
exit;
end;
edit_no.Text:=Fields.Fields[0].AsString;
edit_name.Text:=Fields.Fields[1].AsString;
edit_phone.Text:=Fields.Fields[2].AsString;
edit_tel.Text:=Fields.Fields[3].AsString;
edit_addr.Text:=Fields.Fields[4].AsString;
edit_remarks.Text:=Fields.Fields[5].AsString;
end;
end;
procedure TForm_client.DBGridDblClick(Sender: TObject);
var
s: string;
begin
with pas_dm.DM.Query_client do
begin
if dbgrid.FieldCount=0 then
begin
showmessage('没有打开数据库');
exit;
end;
if dbgrid.Fields[0].AsString='' then
begin
showmessage('数据库没有数据');
exit;
end;
s:= dbgrid.Fields[0].AsString;
end;
with pas_dm.DM.AQ1 do
begin
close;
sql.Clear;
sql.Add('select c_name,valid= case c_validorno when ''1'' then ''有效'' else ''无效'' end from client where c_no='''+trim(s)+'''');
open;
showmessage(trim(dm.AQ1.Fields.Fields[0].AsString)+' 是'+dm.AQ1.Fields.Fields[1].AsString+'的');
close;
sql.Clear;
end;
end;
procedure TForm_client.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = VK_F4 then
begin
add.Click;
Key := 0;
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -