📄 xsrk_form.pas
字号:
unit XSRK_Form;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TFlatGroupBoxUnit, StdCtrls, TFlatEditUnit,
TFlatComboBoxUnit, TFlatMemoUnit, TFlatSpeedButtonUnit,DB,DBTables, ADODB;
type
TXSRK_F = class(TForm)
FlatGroupBox1: TFlatGroupBox;
Label1: TLabel;
BH_FE: TFlatEdit;
Label2: TLabel;
Label3: TLabel;
SM_FE: TFlatEdit;
Label4: TLabel;
Label5: TLabel;
ZZ_FE: TFlatEdit;
Label6: TLabel;
Label7: TLabel;
LB_FCB: TFlatComboBox;
Label8: TLabel;
CBRQ_FE: TFlatEdit;
CBS_FE: TFlatEdit;
Label9: TLabel;
DJ_FE: TFlatEdit;
Label10: TLabel;
SL_FE: TFlatEdit;
Label11: TLabel;
Label12: TLabel;
BZ_FM: TFlatMemo;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
FlatSpeedButton1: TFlatSpeedButton;
FlatSpeedButton2: TFlatSpeedButton;
Label16: TLabel;
ADOQuery1: TADOQuery;
procedure FlatSpeedButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FlatSpeedButton1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
function CheckError:boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
XSRK_F: TXSRK_F;
implementation
uses
Common_Unit, Main_Form;
{$R *.dfm}
var
TSLB_T:TadoQuery;
TSJBXX_Q:TadoQuery;
function IsNum(str:string):boolean;
var
i:integer;
begin
Result:= true;
for i:=1 to length(str) do
if not (ord(str[i]) in[48..57]) then
begin
result:=false;
exit;
end;
end;
//***********************************************************************************
procedure TXSRK_F.FlatSpeedButton2Click(Sender: TObject);
begin
close;
end;
//***********************************************************************************
procedure TXSRK_F.FormShow(Sender: TObject);
begin
TSLB_T.close;
TSLB_T.SQL.Clear;
TSLB_T.SQL.Text :='select classid,classname from TSlb';
TSLB_T.open;
while not TSLB_T.Eof do
begin
LB_FCB.Items.Add(TSLB_T.Fields.Fields[0].value+'-'+TSLB_T.Fields.Fields[1].value);
TSLB_T.Next;
end;
LB_FCB.ItemIndex:=0;
end;
//***********************************************************************************
function TXSRK_F.CheckError:boolean; //检查输入的数据是否有错误
begin
result:=false;
if (length(BH_FE.Text)<>13)or (not IsNum(BH_FE.Text)) then //图书编号是否合法
begin
MessageBox(handle,'图书编号即图书的条形码为13位数字!','图书编号错误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end
else begin
TSJBXX_Q.Close;
TSJBXX_Q.SQL.Clear;
TSJBXX_Q.SQL.text:='Select 1 From TSJBXX Where TSBH='+chr(39)+BH_FE.Text+chr(39);
// TSJBXX_Q.ParamByName('TXB').AsString:=BH_FE.Text;
TSJBXX_Q.Open;
if TSJBXX_Q.RecordCount<>0 then
begin
MessageBox(handle,'你输入的图书编号已经存在!','编号重复',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
end;
if SM_FE.Text='' then
begin
MessageBox(handle,'书名不能为空!','书名有误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if ZZ_FE.Text='' then
begin
MessageBox(handle,'作者不能为空!','作者有误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if CBS_FE.Text='' then
begin
MessageBox(handle,'出版社不能为空!','出版社有误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
if DJ_FE.Text='' then
begin
MessageBox(handle,'定价不能为空!','定价有误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //判断定价是否正确
StrToFloat(DJ_FE.Text);
except
MessageBox(handle,'定价不对!','定价错误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //判断日期格式是否正确
StrToDate(CBRQ_FE.Text);
except
MessageBox(handle,'日期格式不对,正确格式形如:2003-03-19或2003-3-19 !','日期错误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
try //入库数量必须为整数
StrToInt(SL_FE.Text);
except
MessageBox(handle,'入库数量必须为大于0的整数!','数量错误',MB_OK or MB_ICONERROR);
result:=true;
exit;
end;
end;
//***********************************************************************************
procedure TXSRK_F.FormCreate(Sender: TObject);
begin
// TSLB_T:=TTable.Create(nil);
// TSLB_T.DatabaseName:=DataPath;
// TSLB_T.TableName:='TSLB.DB';
TSLB_T:=adoquery1;
TSJBXX_Q:=adoquery1;
// TSJBXX_Q.DatabaseName:=DataPath;
end;
//***********************************************************************************
procedure TXSRK_F.FlatSpeedButton1Click(Sender: TObject); //将信息提交进数据库
begin
if CheckError then exit;
TSJBXX_Q.Close;
TSJBXX_Q.SQL.Clear;
TSJBXX_Q.SQL.Add('Insert Into TSJBXX(TSBH,Class,tsName,Auther,OutDate,CBS,Cost,TotalNum,LastNum,BZ) ');
TSJBXX_Q.SQL.Add(' Values ('+chr(39)+BH_FE.Text+chr(39)+','+chr(39)+copy(LB_FCB.Text,1,4)+chr(39)+','+chr(39)+SM_FE.Text+chr(39)+','+chr(39)+ZZ_FE.Text+chr(39));
TSJBXX_Q.SQL.Add(','+chr(39)+CBRQ_FE.Text+chr(39)+','+chr(39)+CBS_FE.Text+chr(39)+','+DJ_FE.Text+','+DJ_FE.Text+','+DJ_FE.Text+','+chr(39)+BZ_FM.Text+chr(39)+')');
TSJBXX_Q.ExecSQL;
MessageBox(handle,'此图书已经成功入库!','入库成功',MB_OK or MB_ICONINFORMATION);
BH_FE.Text:='';
SM_FE.Text:='';
ZZ_FE.Text:='';
CBRQ_FE.Text:='';
CBS_FE.Text:='';
DJ_FE.Text:='';
SL_FE.Text:='';
SL_FE.Text:='';
BZ_FM.Text:='';
end;
//***********************************************************************************
procedure TXSRK_F.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
//***********************************************************************************
procedure TXSRK_F.FormDestroy(Sender: TObject);
begin
TSLB_T.Close;
TSJBXX_Q.Close;
// FreeAndNil(TSLB_T);
// FreeAndNil(TSJBXX_Q);
XSRK_F:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -