📄 providerinfo.pas
字号:
unit providerinfo;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, baseform, ExtDlgs, DB, Grids, DBGrids, StdCtrls, ExtCtrls;
type
Tf_provider = class(Tf_baseform)
Label1: TLabel;
Panel1: TPanel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label9: TLabel;
Label12: TLabel;
Providername: TEdit;
principal: TEdit;
Addr: TEdit;
Shortname: TEdit;
Web: TEdit;
Phone: TEdit;
Panel3: TPanel;
Label6: TLabel;
Label7: TLabel;
Add: TButton;
Update: TButton;
Delete: TButton;
Cancel: TButton;
Field: TComboBox;
Value: TEdit;
Query: TButton;
Grid1: TDBGrid;
Source1: TDataSource;
procedure ProvidernameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure CancelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure AddClick(Sender: TObject);
procedure UpdateClick(Sender: TObject);
procedure DeleteClick(Sender: TObject);
procedure QueryClick(Sender: TObject);
procedure Grid1CellClick(Column: TColumn);
private
{ Private declarations }
public
Function InfoIsNull: Boolean;
Function ProviderIsMore(providername: String): Boolean;
{ Public declarations }
end;
var
f_provider: Tf_provider;
implementation
uses data;
{$R *.dfm}
procedure Tf_provider.ProvidernameKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if key = vk_Return then
FindNext(True);
end;
procedure Tf_provider.CancelClick(Sender: TObject);
var
i: Integer;
begin
inherited;
For i :=0 to Panel1.ControlCount-1 do
if Panel1.Controls[i] is TEdit then
TEdit(Panel1.Controls[i]).Clear ;
With t_Data.Provider do
begin
Close;
SQL.Clear;
SQL.Add('Select * From tb_providerinfo');
Open;
end;
if t_data.Provider.RecordCount>0 then
Source1.DataSet := t_data.Provider
else
begin
Source1.DataSet := Nil;
t_data.Provider.Close;
end;
end;
function Tf_provider.InfoIsNull: Boolean;
var
i: Integer;
begin
Result := False;
For i := 0 to Panel1.ControlCount-1 do
if Panel1.Controls[i]is TEdit then
begin
if (Trim(TEdit(Panel1.Controls[i]).Text)='')and(TEdit(Panel1.Controls[i]).Name<>'memo') then
begin
Result := True;
Break;
end;
end;
end;
function Tf_provider.ProviderIsMore(providername: String): Boolean;
begin
Result := False;
With t_data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from tb_providerinfo where providername = :provider');
Parameters.ParamByName('provider').Value := Trim(providername);
Open;
end;
if t_data.Query1.RecordCount>0 then
Result := True;
t_data.Query1.Close;
end;
procedure Tf_provider.FormShow(Sender: TObject);
begin
inherited;
Cancel.Click;
end;
procedure Tf_provider.AddClick(Sender: TObject);
begin
inherited;
if InfoIsNull = False then
begin
if ProviderIsMore(providername.Text)=False then
begin
Try
With t_data.Insert1 do
begin
Close;
SQL.Clear;
SQL.Add('Insert into tb_providerinfo Values (:providername,:shortname,:principal,:phone,:address,:web)');
Parameters.ParamByName('providername').Value := Trim(Providername.Text);
Parameters.ParamByName('shortname').Value := Trim(Shortname.Text);
Parameters.ParamByName('principal').Value := Trim(Principal.Text);
Parameters.ParamByName('phone').Value := Trim(phone.Text);
Parameters.ParamByName('address').Value := Trim(Addr.Text);
Parameters.ParamByName('web').Value := Trim(Web.Text);
ExecSQL;
end;
Application.MessageBox('操作成功.','提示',64);
Except
Application.MessageBox('系统出错.','提示',64);
End;
Cancel.Click;
end
else
Application.MessageBox('该供应商信息已经存在.','提示',64);
end
else
Application.MessageBox('供应商信息不能为空','提示',64);
end;
procedure Tf_provider.UpdateClick(Sender: TObject);
begin
inherited;
if t_data.provider.Active then
begin
if InfoIsNull = False then
begin
if Application.MessageBox('确实要修改当前供应商信息吗?','提示',mb_yesno)= id_yes then
begin
if Trim(Providername.Text)<>Trim(t_data.provider.FieldByName('providername').AsString) then
begin
With t_data.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from tb_providerinfo where providername = :name');
Parameters.ParamByName('name').Value := Trim(providername.Text);
Open;
end;
if t_data.Query1.RecordCount>0 then
begin
Application.MessageBox('该供应商已经存在.','提示',64);
Exit;
end;
end;
Try
With t_data.Update1 do
begin
Close;
SQL.Clear;
SQL.Add('Update tb_providerinfo set providername = :name,shortname = :shortname,principal = :principal,phone = :phone,address = :addr,web = :web');
SQL.Add(' where providername = :provider');
Parameters.ParamByName('name').Value := Trim(providername.Text);
Parameters.ParamByName('shortname').Value := Trim(Shortname.Text);
Parameters.ParamByName('principal').Value := Trim(Principal.Text);
Parameters.ParamByName('phone').Value := Trim(phone.Text);
Parameters.ParamByName('addr').Value := Trim(Addr.Text);
Parameters.ParamByName('web').Value := Trim(Web.Text);
Parameters.ParamByName('provider').Value := Trim(t_data.provider.FieldByName('providername').AsString);
ExecSQL;
end;
Application.MessageBox('操作成功.','提示',64);
Except
Application.MessageBox('操作失败.','提示',64);
End;
Cancel.Click;
end;
end
else
Application.MessageBox('供应商信息不能为空.','提示',64);
end
else
Application.MessageBox('当前没有可修改的信息.','提示',64);
end;
procedure Tf_provider.DeleteClick(Sender: TObject);
begin
inherited;
if t_data.provider.Active then
begin
if Application.MessageBox('确实要删除当前供应商信息吗?','提示',mb_yesno)= ID_Yes then
begin
Try
t_data.Provider.Delete;
Cancel.Click;
Application.MessageBox('删除成功.','提示',64);
Except
Application.MessageBox('操作失败.','提示',64);
End;
end;
end
else
Application.MessageBox('当前没有可删除的信息.','提示',64);
end;
procedure Tf_provider.QueryClick(Sender: TObject);
begin
inherited;
if (Field.Text<>'')and(Trim(Value.Text)<>'')then
begin
With t_data.provider do
begin
Close;
SQL.Clear;
SQL.Add('select * From tb_providerinfo where ');
if Field.ItemIndex =0 then
SQL.Add('providername = :FieldValue')
else
SQL.Add('shortname = :FieldValue');
Parameters.ParamByName('FieldValue').Value := Trim(Value.Text);
Open;
end;
if t_data.provider.RecordCount<1 then
begin
Application.MessageBox('没有找到符合条件的记录.','提示',64);
Cancel.Click;
end;
end;
end;
procedure Tf_provider.Grid1CellClick(Column: TColumn);
begin
inherited;
if Source1.DataSet.active then
begin
providername.Text := Trim(Source1.DataSet.FieldByName('providername').AsString);
Shortname.Text := Trim(Source1.DataSet.FieldByName('Shortname').AsString);
principal.Text := Trim(Source1.DataSet.FieldByName('principal').AsString);
Phone.Text := Trim(Source1.DataSet.FieldByName('phone').AsString);
Addr.Text := Trim(Source1.DataSet.FieldByName('Address').AsString);
Web.Text := Trim(Source1.DataSet.FieldByName('Web').AsString);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -