📄 u_bmzlwh.pas
字号:
unit U_bmzlwh;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Mask, ComCtrls;
type
TF_bmzlwh = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ME_bdm: TMaskEdit;
E_bm: TEdit;
CB_bs: TComboBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
LV1: TListView;
procedure BitBtn3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure ME_bdmKeyPress(Sender: TObject; var Key: Char);
procedure E_bmKeyPress(Sender: TObject; var Key: Char);
procedure CB_bsKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
procedure initform(Sender: TObject);
public
{ Public declarations }
end;
var
F_bmzlwh: TF_bmzlwh;
implementation
uses dbobj;
{$R *.dfm}
procedure TF_bmzlwh.initform(Sender: TObject);
begin
ME_bdm.Text:='';
E_bm.Text:='';
CB_bs.Clear;
//DTP1.DateTime:=now;
end;
procedure TF_bmzlwh.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure TF_bmzlwh.FormCreate(Sender: TObject);
var Item:TListItem;
begin
LV1.Clear;
with DataModule1.ADODataSet1 do
begin
CommandText:='select bdm,bm,bs from bsxxb order by bdm';
try
Active:=false;
open;
while not eof do
begin
Item:=LV1.Items.Add;
Item.Caption:=FieldByName('bdm').AsString;
Item.SubItems.Add(FieldByName('bm').AsString);
Item.SubItems.Add(FieldByName('bs').AsString);
next;
end;
//LV1.Column[6].Width:=0;
//LV1.Column[7].Width:=0;
close;
except
close;
end;
end;
end;
procedure TF_bmzlwh.BitBtn1Click(Sender: TObject);
var errstr,sqlstr:string;
havezl:boolean;
Item:TListItem;
bmstr1,bmstr2:string;
begin
errstr:='';
sqlstr:='';
if trim(ME_bdm.Text)='' then
errstr:='请输入版代码'+char(13);
if trim(E_bm.Text)='' then
errstr:=errstr+'---请输入版名'+char(13);
if trim(CB_bs.Text)='' then
errstr:=errstr+'---请选择版数'+char(13);
if length(errstr)>0 then
begin
application.MessageBox(pchar(errstr),'错误提示',mb_ok);
ME_bdm.SetFocus;
exit;
end;
//检查数据库是否已经拥有该资料的信息
havezl:=false;
with DataModule1.ADODataSet1 do
begin
Active:=false;
bmstr1:=trim(copy(E_bm.Text,1,2));
//showmessage(bmstr1);
bmstr2:=trim(copy(E_bm.Text,3,2));
//showmessage(bmstr2);
// CommandText:='select * from bsxxb where bdm='''+trim(ME_bdm.Text)+''' or (bs='''+trim(CB_bs.text)+''' or bm='''+trim(E_bm.Text)+''')'; //or (bs='''+trim(CB_bs.text)+'''//bm='''+trim(CB_bm.text)+''' and bs='''+trim(E_bs.text)+'''';
CommandText:='select * from bsxxb where bdm='''+trim(ME_bdm.Text)+''' or ( bm like '''+'%'+bmstr1+'版'+''' or bm like '''+bmstr2+'%'+'版'+''' or bm like '''+'%'+bmstr2+'版'+''' or bm like '''+bmstr1+'%'+'版'+''' or bm='''+trim(E_bm.Text)+'版'+''')';
try
open;
if not eof then
havezl:=true
else
havezl:=false;
close;
except
close;
exit;
end;
end;
//检查数据库是否存在该资料
if havezl then
begin
application.MessageBox('已存在该版名或版名中存在相互不能组合的版名资料','错误提示',mb_ok);
ME_bdm.SetFocus;
exit;
end
else
begin
sqlstr:='insert into bsxxb(bdm,bm,bs) values('''+trim(ME_bdm.Text )+''','''+trim(E_bm.Text)+'版'+''','''+trim(CB_bs.Text)+''')';
//showmessage(sqlstr);
with DataModule1.ADOConnection1 do
begin
Connected:=false;
try
Connected:=true;
Execute(sqlstr);
if errors.Count > 0 then
begin
Connected:=false;
application.MessageBox('数据库访问错误,刚才提交的数据操作失败','错误提示',mb_ok);
exit;
end
else
begin
Connected:=false;
end;
except
close;
application.MessageBox('数据库访问错误,刚才提交的数据操作失败','错误提示',mb_ok);
exit;
end;
end;
end;
begin
Item:=LV1.Items.Add;
Item.Caption:=trim(ME_bdm.Text);
Item.SubItems.Add(trim(E_bm.Text)+'版');
Item.SubItems.Add(trim(CB_bs.Text));
end;
initform(Sender);
application.MessageBox('------- 恭喜!数据添加成功 ---------','正确提示',mb_ok);
ME_bdm.SetFocus;
end;
procedure TF_bmzlwh.ME_bdmKeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
E_bm.SetFocus;
end;
procedure TF_bmzlwh.E_bmKeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
CB_bs.SetFocus;
end;
procedure TF_bmzlwh.CB_bsKeyPress(Sender: TObject; var Key: Char);
begin
if key=char(13) then
BitBtn1.SetFocus;
end;
procedure TF_bmzlwh.BitBtn2Click(Sender: TObject);
var sqlstr:string;
begin
//删除当前lv1选中的item
if LV1.Selected <> nil then
begin
with DataModule1.ADOConnection1 do
begin
Connected:=false;
sqlstr:='delete from bsxxb where bdm='''+trim(LV1.Selected.Caption)+''' and bm='''+trim(LV1.selected.SubItems[0])+'''';
//showmessage(sqlstr);
Execute(sqlstr);
if errors.Count = 0 then
begin
Connected:=false;
application.MessageBox(pchar(' 版名资料--'+trim(LV1.Selected.SubItems[0])+trim(LV1.Selected.SubItems[1])+'---删除成功 '),'成功提示',mb_ok);
LV1.Selected.Delete;
ME_bdm.SetFocus;
end
else
begin
Connected:=false;
application.MessageBox('数据库错误,刚才提交的数据没有修改成功','错误信息',mb_ok);
end;
end;
end
else
begin
application.MessageBox('请在列表框选择要删除的接发资料','提示',mb_ok);
LV1.SetFocus;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -