The TFDPhysCDataBugzillaConnectionDefParams class hooks into compiler syntax checking and Code Insight hints to enable you to quickly and accurately define connections. However, there are several other ways to define connections from code, also explored here.
See Establishing a Connection to define connections with GUI tools.
Understanding Connection Types
The following examples show how to create three kinds of connections:
You can use TFDManager to create private connections or persistent connections. To define a persistent connection in code, set the last input in the method signature to true. Otherwise, the connection is private.
Additionally, save the persistent connection.
var oDef: IFDStanConnectionDef; oParams: TFDPhysCDataBugzillaConnectionDefParams; begin oDef := FDManager.ConnectionDefs.AddConnectionDef; oDef.Name := 'FDManagerTest'; oParams := TFDPhysCDataBugzillaConnectionDefParams(oDef.Params); oParams.DriverID := 'CDataBugzilla'; oParams.AStringParam := 'AStringValue'; ... oDef.MarkPersistent; //Set this for a persistent connection oDef.Apply; end;To assign the connection to a TFDConnection object, set the ConnectionDefName property:
FDConnection1.ConnectionDefName := 'CDataBugzillaConn'; FDConnection1.Connected := True;
You can set connection properties directly in TFDConnection objects to create temporary connection definitions.
The following method enables you to take advantage of Code Insight and compiler syntax checking.
FDConnection1.DriverName := 'CDataBugzilla'; with FDConnection1.Params as TFDPhysCDataBugzillaConnectionDefParams do begin ParamName := ParamValue; ... end; FDConnection1.Connected := True;However, you can also simply set the ConnectionString property of a TFDConnection object:
FDConnection1.ConnectionString := 'DriverId=CDataBugzilla; Url=http://<yourdomainname>/Bugzilla;APIKey=abc123;'; FDConnection1.Connected := True;
Using Connection Definition Files
You can also define persistent connections in configuration files. The section name of the file defines the connection name. The section consists of the connection properties in name-value pairs. For example:
[Bugzilla_Demo] DriverID=CDataBugzilla ...To create connections based on the entries, set the ConnectionDefFileName property of FDManager to the configuration file's path. This path can be relative to the folder containing the application's .exe file.
You can then assign the connection to a TFDConnection object by setting its ConnectionDefName property.
FDManager.ConnectionDefFileName := ExtractFilePath(Application.ExeName) + 'bugzillaconnections.ini'; FDConnection1.ConnectionDefName := 'CDataBugzillaConn'; FDConnection1.Connected := True;