📄 otherinfounit.pas
字号:
unit OtherInfoUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Buttons, ExtCtrls;
type
TOtherInfoForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
StatusBar2: TStatusBar;
StatusBar1: TStatusBar;
StatusBar3: TStatusBar;
ComboBox1: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
ComboBox2: TComboBox;
Edit6: TEdit;
Memo2: TMemo;
Memo1: TMemo;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
BitBtn7: TBitBtn;
BitBtn8: TBitBtn;
BitBtn9: TBitBtn;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
BitBtn10: TBitBtn;
BitBtn11: TBitBtn;
BitBtn12: TBitBtn;
TabSheet4: TTabSheet;
ListView1: TListView;
RadioGroup1: TRadioGroup;
BitBtn13: TBitBtn;
GroupBox1: TGroupBox;
Edit41: TLabeledEdit;
Edit42: TLabeledEdit;
BitBtn14: TBitBtn;
procedure FormCreate(Sender: TObject);
procedure BitBtn1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn10MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure TabSheet1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ComboBox1Change(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure TabSheet2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn6MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn5MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn11MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ComboBox2Change(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure TabSheet3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn9MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn8MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn7MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure BitBtn12MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure ComboBox3Change(Sender: TObject);
procedure ComboBox4Change(Sender: TObject);
procedure ComboBox5Change(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn13Click(Sender: TObject);
procedure ListView1Click(Sender: TObject);
procedure BitBtn14Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure WMNCpaint(var Msg:TWMNCPaint); message WM_NCPAINT;
procedure ReadType(Sender: TObject);
public
{ Public declarations }
end;
var
OtherInfoForm: TOtherInfoForm;
implementation
uses DMUnit,Share;
{$R *.dfm}
procedure TOtherInfoForm.FormCreate(Sender: TObject);
var
tempstr:TStrings;
begin
tempstr:=TStringList.Create;
try
tempstr:=DM.GetPub;//从数据库中读取出所有的出版社名称
combobox1.Items.Assign(tempstr);
combobox1.ItemIndex:=0;
tempstr:=DM.GetAuth;//从数据库中读取出所有的作者名
combobox2.Items.Assign(tempstr);
combobox2.ItemIndex:=0;
tempstr:=DM.GetTypeSno; //从数据库中取得所有的数据类型名
combobox3.Items.Assign(tempstr);
combobox3.ItemIndex:=0;
tempstr:=DM.GetTypeGen;//从数据库中取得所有的总分类名
combobox4.Items.Assign(tempstr);
combobox4.ItemIndex:=0;
tempstr:=DM.GetTypeTyp(combobox4.Text);//根据总分类名取得数据库中其下的所有分类名
combobox5.Items.Assign(tempstr);
combobox5.ItemIndex:=0;
finally
tempstr.Free;
end;
readtype(sender);
end;
procedure TOtherInfoForm.BitBtn1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[1].Text:='更新数据库中已存在的出版社信息';
end;
procedure TOtherInfoForm.BitBtn2MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[1].Text:='添加新的出版社信息到数据库中';
end;
procedure TOtherInfoForm.BitBtn3MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[1].Text:='删除数据库中已存在的出版社信息?';
end;
procedure TOtherInfoForm.BitBtn10MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[1].Text:='重新从数据库中取得出版社名称列表';
end;
procedure TOtherInfoForm.TabSheet1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
statusbar1.Panels[1].Text:='';
end;
procedure TOtherInfoForm.ComboBox1Change(Sender: TObject);
begin
with dm.OtherInfo do
begin
sql.Text:='select pub_addr,pub_post,pub_phone,pub_www,pub_email,pub_remark'+
' from pub_info where pub_name=:in0';
Parameters[0].Value:=combobox1.Text;
Prepared;
Open;
if RecordCount=1 then
begin //若有找到匹配的数据
edit1.Text:=Fields[0].AsString;
edit2.Text:=Fields[1].AsString;
edit3.Text:=Fields[2].AsString;
edit4.Text:=Fields[3].AsString;
edit5.Text:=Fields[4].asstring;
memo1.Text:=fields[5].asstring;
end else
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
memo1.Text:='';
end;
Close;
end;
end;
procedure TOtherInfoForm.BitBtn10Click(Sender: TObject);
var
pubstr:TStrings;
begin
pubstr:=TStringList.Create;
try
pubstr:=DM.GetPub;
combobox1.Items.Clear;
combobox1.Items.Assign(pubstr);
combobox1.ItemIndex:=0;
finally
pubstr.Free;
end;
end;
procedure TOtherInfoForm.BitBtn1Click(Sender: TObject);
begin
if combobox1.Text='' then
begin
showmessage('还没有输入出版社名称!');
combobox1.SetFocus;
exit;
end;
with DM do
begin
OtherInfo.Sql.Text:='select pub_name from pub_info where pub_name=:in0';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox1.Text;
OtherInfo.prepared;
OtherInfo.open;
if OtherInfo.recordcount=0 then
begin
showmessage('无此记录,请确认?');
combobox1.SetFocus;
OtherInfo.close;
exit;
end;
ADOConn.BeginTrans;//开始事务
try
OtherInfo.sql.Text:='update pub_info set pub_addr=:in0,pub_post=:in1,pub_phone=:in2,'+
'pub_www=:in3,pub_email=:in4,pub_remark=:in5 where pub_name=:in6';
OtherInfo.parameters.ParamByName('in0').Value:=edit1.Text;
OtherInfo.parameters.ParamByName('in1').Value:=edit2.Text;
OtherInfo.parameters.ParamByName('in2').Value:=edit3.Text;
OtherInfo.parameters.ParamByName('in3').Value:=edit4.Text;
OtherInfo.parameters.ParamByName('in4').Value:=edit5.Text;
OtherInfo.parameters.ParamByName('in5').Value:=memo1.Text;
OtherInfo.parameters.ParamByName('in6').Value:=combobox1.Text;
OtherInfo.Prepared;
OtherInfo.ExecSQL;
ADOConn.CommitTrans;//提交事务
except
ADOConn.RollbackTrans;//发生异常,事务回滚
raise;
exit;
end;
OtherInfo.Close;
end;
showmessage('恭喜你,数据更新成功');
end;
procedure TOtherInfoForm.BitBtn2Click(Sender: TObject);
begin
if combobox1.Text='' then
begin
showmessage('还没有输入出版社名称!');
combobox1.SetFocus;
exit;
end;
with DM do
begin
OtherInfo.Sql.Text:='select pub_name from pub_info where pub_name=:in0';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox1.Text;
OtherInfo.prepared;
OtherInfo.open;
if OtherInfo.recordcount=1 then
begin
showmessage('记录已经存在?');
combobox1.SetFocus;
OtherInfo.close;
exit;
end;
ADOConn.BeginTrans;
try
OtherInfo.SQL.Text:='insert into pub_info(pub_name,pub_addr,pub_post,pub_phone'+
',pub_www,pub_email,pub_remark) values(:in0,:in1,:in2,'+
':in3,:in4,:in5,:in6)';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox1.Text;
OtherInfo.Parameters.ParamByName('in1').Value:=edit1.Text;
OtherInfo.Parameters.ParamByName('in2').Value:=edit2.Text;
OtherInfo.Parameters.ParamByName('in3').Value:=edit3.Text;
OtherInfo.Parameters.ParamByName('in4').Value:=edit4.Text;
OtherInfo.Parameters.ParamByName('in5').Value:=edit5.Text;
OtherInfo.Parameters.ParamByName('in6').Value:=Memo1.Text;
OtherInfo.Prepared;
OtherInfo.ExecSQL;
ADOConn.CommitTrans;
except
ADOConn.RollbackTrans;
raise;
exit;
end;
OtherInfo.Close;
end;
showmessage('恭喜你,数据添加成功');
end;
procedure TOtherInfoForm.BitBtn3Click(Sender: TObject);
var
i:byte;
begin
if combobox1.Text='' then
begin
showmessage('还没有输入出版社名称!');
combobox1.SetFocus;
exit;
end;
with DM do
begin
OtherInfo.Sql.Text:='select pub_name from pub_info where pub_name=:in0';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox1.Text;
OtherInfo.prepared;
OtherInfo.open;
if OtherInfo.recordcount=0 then
begin
showmessage('该出版社在数据库中不存在!');
combobox1.SetFocus;
OtherInfo.close;
exit;
end;
OtherInfo.Close;
if MessageDlg('确定要删除吗?',mtConfirmation,[mbyes,mbno],0)=mrno then
exit;
ADOConn.BeginTrans;
try
OtherInfo.SQL.Text:='delete pub_info where pub_name=:in0';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox1.Text;
OtherInfo.Prepared;
OtherInfo.ExecSQL;
ADOConn.CommitTrans;
except
ADOConn.RollbackTrans;
raise;
end;
OtherInfo.Close;
end;
for i:=0 to TabSheet1.ComponentCount-1 do//清空所有的编辑框
if (TabSheet1.Components[i] is TEdit) or (TabSheet1.Components[i] is TCombobox) or (TabSheet1.Components[i] is TMemo) then
TEdit(TabSheet1.Components[i]).Text:='';
end;
procedure TOtherInfoForm.TabSheet2MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar2.Panels[1].Text:='';
end;
procedure TOtherInfoForm.BitBtn6MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar2.Panels[1].Text:='更新数据库中已存在的作者信息';
end;
procedure TOtherInfoForm.BitBtn5MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar2.Panels[1].Text:='添加新的作者信息到数据库中';
end;
procedure TOtherInfoForm.BitBtn4MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar2.Panels[1].Text:='删除数据库中已存在的作者信息,你确认吗?';
end;
procedure TOtherInfoForm.BitBtn11MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
StatusBar2.Panels[1].Text:='从数据库中获取作者名列表,刷新列表框';
end;
procedure TOtherInfoForm.ComboBox2Change(Sender: TObject);
begin
with DM do
begin
OtherInfo.SQL.Text:='select auth_name,auth_remark from auth_info where auth_name=:in0';
OtherInfo.Parameters.ParamByName('in0').Value:=combobox2.Text;
OtherInfo.Prepared;
OtherInfo.Open;
if OtherInfo.RecordCount=1 then
begin
edit6.Text:=OtherInfo.Fields[0].asstring;
memo2.Text:=OtherInfo.Fields[1].asstring;
end else
begin
edit6.Text:='';
memo2.Text:='';
end;
end;
end;
procedure TOtherInfoForm.BitBtn11Click(Sender: TObject);
var
authstr:TStrings;
begin//刷新作者名列表
authstr:=TStringList.Create;
try
authstr:=DM.GetAuth;
combobox2.Items.Clear;
combobox2.Items.Assign(authstr);
combobox2.ItemIndex:=0;
finally
authstr.Free;
end;
end;
procedure TOtherInfoForm.BitBtn6Click(Sender: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -