📄 card_type.pas
字号:
unit card_type;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, DB, ADODB, Menus, ComCtrls;
type
Tcard_type_form = class(TForm)
Memo1: TMemo;
ado_type: TADOTable;
ado_typeds: TDataSource;
pp_type: TPopupMenu;
pp1: TMenuItem;
check_query: TADOQuery;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
ADO_job: TADOTable;
ado_jobds: TDataSource;
pp_job: TPopupMenu;
pp2: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure pp1Click(Sender: TObject);
procedure ado_typeBeforeEdit(DataSet: TDataSet);
procedure ado_typeBeforePost(DataSet: TDataSet);
procedure ADO_jobBeforeEdit(DataSet: TDataSet);
procedure ADO_jobBeforePost(DataSet: TDataSet);
procedure pp2Click(Sender: TObject);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
private
str_type,str_job:string;
public
{ Public declarations }
end;
var
card_type_form: Tcard_type_form;
implementation
uses
main_card;
{$R *.dfm}
procedure Tcard_type_form.FormCreate(Sender: TObject);
begin
str_job:='';
str_type:='';
ado_type.Open;
ado_job.Open;
//ado_type.Append ;
end;
procedure Tcard_type_form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if (ado_type.State =dsedit)or(ado_type.State =dsinsert) then
ado_type.post;
ado_type.Close;
end;
procedure Tcard_type_form.pp1Click(Sender: TObject);
begin
if ado_type.Eof =false then
begin
check_query.SQL.Clear ;
check_query.SQL.Add('select * from card where type=:type');
check_query.Parameters.ParamValues['type']:=ado_type.fieldbyname('type').AsString;
check_query.Open;
if check_query.Eof=false then
showmessage('数据已经发生关联!')
else
if messagedlg('请确定删除?',mtinformation,[mbyes,mbno],0)=mryes then
ado_type.Delete ;
check_query.Close;
end;
end;
procedure Tcard_type_form.ado_typeBeforeEdit(DataSet: TDataSet);
begin
str_type:=ado_type.fieldbyname('type').AsString ;
end;
procedure Tcard_type_form.ado_typeBeforePost(DataSet: TDataSet);
var
a_type:string;
begin
a_type:=ado_type.fieldbyname('type').AsString ;
if (str_type<>'')and(str_type<>a_type) then
begin
check_query.Close;
check_query.SQL.Clear ;
check_query.SQL.Add('update card set type=:a_type where type=:str_type');
check_query.Parameters.ParamValues['a_type']:=a_type;
check_query.Parameters.ParamValues['str_type']:=str_type;
check_query.ExecSQL ;
end;
end;
procedure Tcard_type_form.ADO_jobBeforeEdit(DataSet: TDataSet);
begin
str_job:=ado_job.fieldbyname('job').AsString ;
end;
procedure Tcard_type_form.ADO_jobBeforePost(DataSet: TDataSet);
var
a_job:string;
begin
a_job:=ado_job.fieldbyname('job').AsString ;
if (str_job<>'')and(str_job<>a_job) then
begin
check_query.Close;
check_query.SQL.Clear ;
check_query.SQL.Add('update card set job=:a_job where job=:str_job');
check_query.Parameters.ParamValues['a_job']:=a_job;
check_query.Parameters.ParamValues['str_job']:=str_job;
check_query.ExecSQL ;
end;
end;
procedure Tcard_type_form.pp2Click(Sender: TObject);
begin
if ado_job.Eof =false then
begin
check_query.Close;
check_query.SQL.Clear ;
check_query.SQL.Add('select * from card where job=:job');
check_query.Parameters.ParamValues['job']:=ado_job.fieldbyname('job').AsString;
check_query.Open;
if check_query.Eof=false then
showmessage('数据已经发生关联!')
else
if messagedlg('请确定删除?',mtinformation,[mbyes,mbno],0)=mryes then
ado_job.Delete ;
check_query.Close;
end;
end;
procedure Tcard_type_form.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#46 then
pp1.Click ;
end;
procedure Tcard_type_form.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
if key=#46 then
pp2.Click ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -