Skip to content

Commit 974e3ab

Browse files
committed
Locate the FDDEMO.SDB sample SQL database file before opening the SQL connection and its tables
1 parent 8763f8d commit 974e3ab

2 files changed

Lines changed: 31 additions & 4 deletions

File tree

demos/FireMonkey/TeeGridFeatures/Views/Database/Master_Detail_FireDAC/Unit_Master_Detail_Two_Grids.fmx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ object MasterDetail2GridsForm: TMasterDetail2GridsForm
77
FormFactor.Width = 320
88
FormFactor.Height = 480
99
FormFactor.Devices = [Desktop]
10+
OnCreate = FormCreate
1011
DesignerMasterStyle = 0
1112
object Rectangle1: TRectangle
1213
Align = Client
@@ -62,7 +63,6 @@ object MasterDetail2GridsForm: TMasterDetail2GridsForm
6263
Link = 'Fax'
6364
end>
6465
DataSource = DataSource1
65-
ReadOnly = False
6666
Selected.FullRow = True
6767
Align = Top
6868
Position.Y = 50.000000000000000000
@@ -136,7 +136,6 @@ object MasterDetail2GridsForm: TMasterDetail2GridsForm
136136
Link = 'ShipCountry'
137137
end>
138138
DataSource = DataSource2
139-
ReadOnly = False
140139
Align = Client
141140
Margins.Top = 5.000000000000000000
142141
Size.Width = 708.000000000000000000
@@ -173,7 +172,7 @@ object MasterDetail2GridsForm: TMasterDetail2GridsForm
173172
end
174173
object Sqlite_demoConnection: TFDConnection
175174
Params.Strings = (
176-
'Database=D:\apps\Embarcadero\Studio\19.0\Samples\Data\FDDemo.sdb'
175+
'Database=FDDemo.sdb'
177176
'ConnectionDef=SQLite_Demo')
178177
LoginPrompt = False
179178
Left = 489

demos/FireMonkey/TeeGridFeatures/Views/Database/Master_Detail_FireDAC/Unit_Master_Detail_Two_Grids.pas

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ interface
1111
FireDAC.Stan.ExprFuncs, FireDAC.FMXUI.Wait, FireDAC.Stan.Param, FireDAC.DatS,
1212
FireDAC.DApt.Intf, FireDAC.DApt, FMXTee.Control, FMXTee.Grid, Data.DB,
1313
FireDAC.Comp.DataSet, FireDAC.Comp.Client, FMX.Controls.Presentation,
14-
FMX.StdCtrls, FMX.Layouts, FMX.Objects;
14+
FMX.StdCtrls, FMX.Layouts, FMX.Objects, FireDAC.Phys.SQLiteWrapper.Stat;
1515

1616
type
1717
TMasterDetail2GridsForm = class(TForm)
@@ -26,6 +26,7 @@ TMasterDetail2GridsForm = class(TForm)
2626
Layout1: TLayout;
2727
cbConnect: TCheckBox;
2828
procedure cbConnectChange(Sender: TObject);
29+
procedure FormCreate(Sender: TObject);
2930
private
3031
{ Private declarations }
3132
public
@@ -39,10 +40,37 @@ implementation
3940

4041
{$R *.fmx}
4142

43+
uses
44+
IOUtils;
45+
46+
function FolderWithSampleData:String;
47+
begin
48+
result:='fddemo.sdb';
49+
50+
repeat
51+
if TFile.Exists(result) then
52+
exit
53+
else
54+
result:=TPath.Combine('..',result);
55+
56+
until Length(result)>100;
57+
end;
58+
4259
procedure TMasterDetail2GridsForm.cbConnectChange(Sender: TObject);
4360
begin
4461
CustomersTable.Active:=cbConnect.IsChecked;
4562
OrdersTable.Active:=cbConnect.IsChecked;
4663
end;
4764

65+
procedure TMasterDetail2GridsForm.FormCreate(Sender: TObject);
66+
var Path : String;
67+
begin
68+
Path:=FolderWithSampleData;
69+
70+
if Path='' then
71+
raise Exception.Create('Error: Missing SQL sample database file FDDEMO.SDB required by this demo');
72+
73+
Sqlite_demoConnection.Params.Values['Database']:=Path;
74+
end;
75+
4876
end.

0 commit comments

Comments
 (0)