📄 unitsetoption.pas
字号:
unit UnitSetOption;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ADODB, DB, Grids, DBGrids, ExtCtrls, DBCtrls,
Mask, ComCtrls, ToolWin;
type
TfrmSetOption = class(TForm)
DataSource: TDataSource;
ADOQuery: TADOQuery;
ADOCmd: TADOCommand;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
tbnAdd: TToolButton;
tbnDelete: TToolButton;
tbnUpdate: TToolButton;
ToolButton4: TToolButton;
tbnExit: TToolButton;
StatusBar1: TStatusBar;
Panel1: TPanel;
GroupBox2: TGroupBox;
DBGrid: TDBGrid;
ADOQuery1: TADOQuery;
procedure FormShow(Sender: TObject);
procedure tbnExitClick(Sender: TObject);
procedure tbnUpdateClick(Sender: TObject);
procedure tbnDeleteClick(Sender: TObject);
procedure tbnAddClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
strCon:string;
procedure GetAllItems();
procedure SetRoomType();
{ Private declarations }
public
{ Public declarations }
end;
var
frmSetOption: TfrmSetOption;
implementation
uses UnitMain, UnitBedSet;
{$R *.dfm}
procedure TfrmSetOption.SetRoomType();
begin
try
adoquery1.ConnectionString:=strcon;
adoquery1.Close;
adoquery1.SQL.Clear ;
adoquery1.SQL.Add('select * from roomProperty');
adoquery1.Open ;
frmbedset.cbotype.Items.Clear ;
while not adoquery1.Eof do
begin
frmbedset.cbotype.Items.Add(adoquery1.Fields[1].asstring);
adoquery1.Next;
end;
finally
frmbedset.cbotype.ItemIndex:=0;
adoquery1.Close;
end;
end;
procedure TfrmSetOption.GetAllItems();
var
Smt:string;
xx:Tcolumn;
begin
Smt:='select room_id,room_no,convert(char(2),flooer_id) flooer_id,convert(char(2),bed_num)bed_num,b.roompro_name,memo1';
Smt:=Smt+ ' from RoomList a left outer join RoomProperty b ';
Smt:=Smt+ ' on a.roompro_id=b.roompro_id ';
adoquery.Close;
adoquery.SQL.Clear ;
adoquery.ConnectionString:=strCon;
adoquery.sql.Add(Smt);
adoquery.Open;
dbgrid.Columns.Clear;
xx:=dbgrid.Columns.Add;
xx.Title.Caption:='房间编号';
xx.FieldName:=adoquery.Fields[1].DisplayName ;
xx.Width :=50;
//------------
xx:=dbgrid.Columns.Add;
xx.Title.Caption:='楼层号';
xx.FieldName:=adoquery.Fields[2].DisplayName ;
xx.Width :=50;
//------------
xx:=dbgrid.Columns.Add;
xx.Title.Caption:='房间总数';
xx.FieldName:=adoquery.Fields[3].DisplayName ;
xx.Width :=50;
//------------
xx:=dbgrid.Columns.Add;
xx.Title.Caption:='房间属性';
xx.FieldName:=adoquery.Fields[4].DisplayName ;
xx.Width :=150;
//------------
xx:=dbgrid.Columns.Add;
xx.Title.Caption:='备注';
xx.FieldName:=adoquery.Fields[5].DisplayName ;
xx.Width :=200;
//------------
datasource.DataSet:=adoquery;
dbgrid.DataSource:=datasource;
end;
procedure TfrmSetOption.FormShow(Sender: TObject);
begin
try
frmSetOption.GetAllItems ;
finally
end;
end;
//删除记录
procedure TfrmSetOption.tbnExitClick(Sender: TObject);
begin
frmsetoption.close
end;
procedure TfrmSetOption.tbnUpdateClick(Sender: TObject);
var
room,floor,bed,strtype,memo:string;
smt:string; //adocommand要执行的CommandText
begin
if adoquery.RecordCount=0 then
exit
else
begin
application.CreateForm(TfrmBedset,frmBedset);
frmsetOption.SetRoomType;
frmbedset.edtroom.Text:=adoquery.Fields[1].AsString ;
frmbedset.edtfloor.Text:=adoquery.Fields[2].AsString;
frmbedset.edtbed.Text:=adoquery.Fields[3].AsString;
frmbedset.cbotype.Text:=adoquery.Fields[4].AsString;
frmbedset.edtmemo.Text:=adoquery.Fields[5].AsString;
frmBedset.ShowModal;
if frmbedset.ModalResult=mrok then
begin
room:=frmbedset.edtroom.Text;
floor:=frmbedset.edtfloor.Text;
bed:=frmbedset.edtbed.Text;
strtype:=frmbedset.cbotype.Text;
memo:=frmbedset.edtmemo.Text;
if Room='' then exit;
if Floor='' then exit;
if Bed='' then exit;
smt:='update roomlist';
smt:=smt+' set room_no='''+room+''',flooer_id='+floor+',bed_num='+bed+',memo1='''+memo+''',roompro_id=RoomProperty.roompro_id';
smt:=smt+' from RoomProperty';
smt:=smt+' where RoomProperty.roompro_name='''+strtype+'''';
smt:=smt+' and room_id='+adoquery.Fields[0].AsString ;
try
adocmd.ConnectionString :=strCon;
adocmd.CommandText:=smt;
adocmd.CommandType:=cmdtext;
adocmd.Prepared:=true;
adocmd.Execute ;
finally
adoquery.Requery() ;
end;
end;
end;
end;
procedure TfrmSetOption.tbnDeleteClick(Sender: TObject);
var
i :integer;
smt:string;
begin
i:= adoquery.RecordCount;
if i<> 0 then
begin
i:=adoquery.Fields[0].AsInteger ;
smt:='delete from roomlist where room_id='+inttostr(i);
try
adocmd.ConnectionString:=strCon;
adocmd.CommandText:=smt;
adocmd.Execute ; //执行cmd命令
finally
adoquery.Requery() ; //重新获得数据源
end;
end;
end;
procedure TfrmSetOption.tbnAddClick(Sender: TObject);
var
Room,Floor,BedNo,RoomType,Memo:string;
Smt:string;
begin
application.CreateForm(TfrmBedset,frmBedset);
frmsetoption.SetRoomType;
frmBedset.ShowModal;
if frmBedset.ModalResult=mrok then
begin
Room:=trim(frmbedset.edtroom.Text);
Floor:=trim(frmbedset.edtfloor.Text);
BedNo:=trim(frmbedset.edtbed.text);
RoomType:=trim(frmbedset.cbotype.text);
Memo:=trim(frmbedset.edtmemo.Text);
if Room='' then exit;
if Floor='' then exit;
if BedNo='' then exit;
Smt:='insert into RoomList (room_no,flooer_id,bed_num,memo1,roompro_id)';
Smt:=Smt+'select'''+ Room+''' ,'+Floor+','+BedNo+','''+Memo+''',roompro_id from RoomProperty where roompro_name='''+RoomType+'''';
adocmd.ConnectionString :=strCon;
adocmd.CommandType:=cmdtext;
adocmd.CommandText:=smt;
adocmd.Execute;
adoquery.Requery();
end;
end;
procedure TfrmSetOption.FormCreate(Sender: TObject);
begin
frmMain.ReadINI;
strCon:=frmMain.strCon;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -