📄 savelistmaintenance.pas
字号:
unit SaveListMaintenance;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, StdCtrls, Grids, DBGrids, Buttons,db,ADODB;
type
TfrmSaveListMaintenance = class(TForm)
ToolBar1: TToolBar;
btnAdd: TToolButton;
btnEdit: TToolButton;
ToolButton2: TToolButton;
btnSave: TToolButton;
ToolButton5: TToolButton;
btnDel: TToolButton;
btnCancel: TToolButton;
ImageList1: TImageList;
edtHbody: TEdit;
cobHead: TComboBox;
cobHpzl: TComboBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
edtMemo: TEdit;
btnSearch: TBitBtn;
dgDB: TDBGrid;
procedure FormShow(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure btnEditClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnDelClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure dgDBCellClick(Column: TColumn);
procedure btnSearchClick(Sender: TObject);
private
{ Private declarations }
public
procedure execute_sql(sql:String);
procedure item_clear;
function Check_HaveData:Boolean;
function Check_ExistHphm(sql:String):boolean;
{ Public declarations }
end;
var
frmSaveListMaintenance: TfrmSaveListMaintenance;
crossSql:String; //用于sql操作的
flag:boolean;
implementation
uses dbConn;
{$R *.dfm}
procedure TfrmSaveListMaintenance.FormShow(Sender: TObject);
var
sql :String;
sqlsql:String;
begin
self.btnSave.Enabled := false;
//load data
dbConn.LoadCombobox(cobHpzl,'1'); //hpzl
cobHpzl.ItemIndex := 0;
sql:='';
sql:='SELECT DMZ FROM photocheck.P_CODE where dmlb=''2''';
dbconn.loadCombox(cobHead,sql,true);
cobHead.ItemIndex := 0;
end;
procedure TfrmSaveListMaintenance.execute_sql(sql:String);
var
ds:TDataSource;
rs:TADODataSet;
i,rowCount:Integer; ///控制行的宽度
begin
try
ds:=TDataSource.Create(nil);
rs:=TADODataSet.Create(nil);
rs.Connection := cn_public;
rs.CommandText :=sql;
rs.Open ;
rs.Active := true;
dgDB.DataSource :=ds;
ds.DataSet := rs;
rowCount:=dgDB.DataSource.DataSet.FieldCount -1 ;
for i:=0 to rowCount do
begin
dgDB.Columns.Items[i].Width := 90;
end;
except
on E:Exception do
begin
ds.Free ;
rs.Free ;
end;
end;
end;
procedure TfrmSaveListMaintenance.item_clear;
begin
edtHbody.Text :='';
edtMemo.Text :='';
cobHead.ItemIndex:=0;
cobHpzl.ItemIndex :=0;
end;
function TfrmSaveListMaintenance.Check_HaveData:Boolean;
begin
if cobHead.Text='' then
begin
messagebox(0,'该信息不允许为空!','保护信息',64);
cobHead.SetFocus ;
result:= false;
exit;
end;
if edtHbody.Text='' then
begin
messagebox(0,'该信息不允许为空!','保护信息',64);
edtHbody.SetFocus ;
result:= false;
exit;
end;
if length(edtHbody.Text)>5 then
begin
messagebox(0,'该信息长度不可以超过5位','保护信息',64);
edtHbody.SetFocus ;
result:= false;
exit;
end;
if cobHpzl.Text='' then
begin
messagebox(0,'该信息不允许为空!','保护信息',64);
cobHpzl.SetFocus ;
result:= false;
exit;
end;
result:= true;
end;
function TfrmSaveListMaintenance.Check_ExistHphm(sql:String):boolean;
var
rs:TADODataSet;
begin
//crossSql:='SELECT HPHM FROM photocheck.P_SAVELIST WHERE HPHM='''+trim(cobHead.Text +edtHbody.Text )+'''';
rs:=TADODataSet.Create(nil);
rs.Connection := cn_public;
rs.CommandText := sql;
rs.Open ;
if rs.Recordset.RecordCount >0 then
begin
rs.Close ;
rs.Free ;
result:= true ; //有数据
end
else
begin
rs.Close ;
rs.Free ;
result:= false; //无数据
end;
end;
procedure TfrmSaveListMaintenance.btnAddClick(Sender: TObject);
begin
btnAdd.Enabled := false;
btnEdit.Enabled := false;
btnSave.Enabled := true;
btnDel.Enabled := false;
//edtID.Enabled := true;
//edtName.Enabled := true;
//edtMemo.Enabled := true;
self.item_clear;
//edtId.SetFocus ;
flag:= true; //若为true时,为添加数据
end;
procedure TfrmSaveListMaintenance.btnEditClick(Sender: TObject);
begin
if (edtHbody.Text<>'') and (cobHead.Text<>'') then
begin
btnAdd.Enabled := false;
btnEdit.Enabled := false;
btnSave.Enabled := true;
btnDel.Enabled := false;
//edtID.Enabled := false; //计算机编号不允许编辑
//edtName.Enabled := true;
//edtMemo.Enabled := true;
flag:= false; //标记为修改状态
end
else
messagebox(0,'无数据编辑!','路口信息',64);
end;
procedure TfrmSaveListMaintenance.btnSaveClick(Sender: TObject);
var
rs:TADODataSet;
begin
if Check_HaveData=true then
begin
if flag=true then //true;Add状态
begin
crossSql:='';
crossSql:='SELECT HPHM FROM photocheck.P_SAVELIST WHERE HPHM='''+trim(cobHead.Text +edtHbody.Text )+'''';
if self.Check_ExistHphm(crossSql)=true then
begin
messagebox(0,'已存在该条数据!','保护信息',16);
edtHbody.SelectAll ;
edtHbody.SetFocus ;
exit;
end
else //若没有该数据,则插入
begin
crossSql:='';
crossSql:='INSERT INTO photocheck.P_SAVELIST (HPHM,HPZL,BZ,LRR,LRSJ) VALUES(';
crossSql:= crossSql + ' '''+trim(cobHead.Text+edtHbody.Text )+''',';
crossSql:= crossSql + ' '''+trim(getdm(cobHpzl.Text))+''',';
crossSql:= crossSql + ' '''+trim(edtMemo.Text)+''',';
crossSql:= crossSql + ' '''+CurrentUserID+''',';
crossSql:= crossSql + ' to_date('''+FormatDateTime('YYYY-MM-DD HH:MM:SS',now)+''',''YYYY-MM-DD HH24:Mi:SS''))';
dbConn.Execute_SQL(crossSql);
crossSql:='';
crossSql:='SELECT * FROM photocheck.P_SAVELIST WHERE HPHM LIKE ''' + Trim(cobHead.Text+edtHbody.Text) + '''';
self.execute_sql(crossSql);
messagebox(0,'添加成功!','保护信息',64);
//edtId.Enabled := false;
//edtName.Enabled := false;
//edtMemo.Enabled := false;
self.item_clear ;
end;
end
else
if flag=false then //false :处于编辑状态
begin
crossSql:='';
crossSql:='UPDATE photocheck.P_SAVELIST SET HPZL='''+trim(getDM(cobHpzl.Text))+''' , BZ='''+trim(edtMemo.Text)+''',LRR='''+CurrentUserID+''',LRSJ=to_date('''+FormatDateTime('YYYY-MM-DD HH:MM:SS',now)+''',''YYYY-MM-DD HH24:Mi:SS'') WHERE HPHM='''+trim(cobHead.Text+edtHbody.Text)+'''';
dbConn.Execute_SQL(crossSql);
crossSql:='';
crossSql:='SELECT * FROM photocheck.P_SAVELIST WHERE HPHM LIKE '''+Trim(cobHead.Text+edtHbody.Text)+'''';
self.execute_sql(crossSql);
messagebox(0,'修改成功!','保护信息',64);
end;
self.item_clear ;
btnAdd.Enabled := true;
btnEdit.Enabled := true;
btnSave.Enabled := false;
btnDel.Enabled := true;
//edtID.Enabled := false;
//edtName.Enabled := false;
//edtMemo.Enabled := false;
end;
end;
procedure TfrmSaveListMaintenance.btnDelClick(Sender: TObject);
begin
if (edtHbody.Text<>'') and (cobHead.Text<>'') then
begin
//应该首先检查数据库中是否存在这个信息,才可以进行删除工作
crossSql:='';
crossSql:='SELECT HPHM FROM photocheck.P_SAVELIST WHERE HPHM='''+trim(cobHead.Text +edtHbody.Text )+'''';
if self.Check_ExistHphm(crossSql)=false then
begin
messagebox(0,'该数据不存在,请输入有效的数据!','保护信息',16);
edtHbody.SelectAll ;
edtHbody.SetFocus ;
exit;
end
else
begin
if messagedlg('你确定要删除这个 '+cobHead.Text+edtHbody.Text +'号码吗?',mtConfirmation,[mbYes,mbno],0)=mrYes then
begin
crossSql:='';
crossSql:='DELETE FROM photocheck.P_SAVELIST WHERE HPHM='''+trim(cobHead.Text)+trim(edtHbody.Text)+'''';
dbConn.Execute_SQL(crossSql);
crossSql:='';
crossSql:='SELECT * FROM photocheck.P_SAVELIST WHERE HPHM='''+trim(cobHead.Text)+trim(edtHbody.Text)+'''';
self.execute_sql(crossSql);
self.item_clear ;
messagebox(0,'成功删除!','保护信息',64);
end
else
begin
exit;
end;
btnAdd.Enabled := true;
btnEdit.Enabled := true;
btnSave.Enabled := false;
btnDel.Enabled := true;
//edtID.Enabled :=false;
//edtName.Enabled := false;
//edtMemo.Enabled := false;
end;
end
else //无数据删除
begin
messagebox(0,'无数据删除!','保护信息',64);
end;
end;
procedure TfrmSaveListMaintenance.btnCancelClick(Sender: TObject);
begin
self.item_clear ;
btnAdd.Enabled := true;
btnEdit.Enabled := true;
btnSave.Enabled := false;
btnDel.Enabled := true;
end;
procedure TfrmSaveListMaintenance.dgDBCellClick(Column: TColumn);
var
hphm:String;
hpzl:String;
i:Integer;
begin
btnAdd.Enabled := true;
btnEdit.Enabled := true;
btnSave.Enabled := false;
btnDel.Enabled := true;
//edtId.Enabled := false;
//edtName.Enabled := false;
// dgDB.DataSource.DataSet.FieldByName('HPZL').Value
//edtMemo.Enabled := false;
hphm := dgDB.DataSource.DataSet.FieldByName('HPHM').AsString ;
cobHead.Text := copy(hphm,1,3);
edtHbody.Text :=copy(hphm,4,length(hphm)-3);
edtMemo.Text := dgDB.DataSource.DataSet.FieldByName('BZ').AsString ;
hpzl := dgDB.DataSource.DataSet.FieldByName('HPZL').AsVariant ;
// dbconn.DisplayCombox(trim(hpzl),cobHpzl,'0'); //??就不显示why?
For i:= 0 To cobHpzl.Items.Count - 1 do
begin
If hpzl=getdm(cobHpzl.Items.Strings[i]) Then
begin
cobHpzl.ItemIndex:=i;
exit;
End;
end;
end;
procedure TfrmSaveListMaintenance.btnSearchClick(Sender: TObject);
begin
crossSql:='';
crossSql:='SELECT * FROM photocheck.P_SAVELIST WHERE HPHM LIKE '''+Trim(cobHead.Text)+Trim(edtHbody.Text)+'''';
self.execute_sql(crossSql);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -