Bonjour à tous,
J'aimerais simplifier ma création dynamique de mes DataSet. J'en ai un nombre incalculable qui sont créés de cette manière :
Je voudrais faire quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 try dtsComputers := TADODataSet.Create(Owner); dsComputers := TDataSource.Create(Owner); with dtsComputers do begin Connection := frmDataModule.ADOConnection; CommandText := 'SELECT * FROM computers WHERE ORDER BY hostname'; CursorType := ctDynamic; dsComputers.DataSet := dtsComputers; dbgMain.DataSource := dsComputers; Filter := 'hostname <> '''''; Filtered := True; Active := True; First; end; dtsSupplier := TADODataSet.Create(Owner); dsSupplier := TDataSource.Create(Owner); with dtsSupplier do begin Connection := frmDataModule.ADOConnection; CommandText := 'SELECT * FROM suppliers ORDER BY name'; CursorType := ctDynamic; dsSupplier.DataSet := dtsSupplier; Active := True; end; except on e: Exception do begin ShowMessage('Problème d''ouverture de la base de données : ' + e.Message); Exit; end; end;
En résumé faire une fonction à qui je passe un certain nombre de paramètre et qui me créée mon DataSet, mon DataSource gère les exceptions et le tout de manière "transparente"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 dtsComputers := CreateDataSet('SELECT * FROM computers WHERE ORDER BY hostname', 'hostname <> ''''', True, First) dsComputers := CreateDataSource(dtsComputers)
Partager