123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- (******************************************************************************
- * *
- * (c) 2005 CNOC v.o.f. *
- * *
- * File: SqldbExampleUnit.pp *
- * Author: Joost van der Sluis ([email protected]) *
- * Description: This unit is used by the SQLdb examples *
- * License: GPL *
- * *
- ******************************************************************************)
- unit SqldbExampleUnit;
- {$mode objfpc}{$H+}
- interface
- uses
- Classes,
- sqldb, pqconnection, IBConnection, ODBCConn,
- mysql40conn, mysql41conn, mysql50conn;
- var dbtype,
- dbname,
- dbuser,
- dbpassword : string;
- Fconnection : tSQLConnection;
- Ftransaction : tSQLTransaction;
- Fquery : tSQLQuery;
- const
- FPdevNames : Array[1..8] of string = ('Florian Klämpfl', 'Carl Eric Codère',
- 'Daniël Mantione', 'Jonas Maebe', 'Michael Van Canneyt',
- 'Peter Vreman', 'Pierre Muller', 'Marco van de Voort'
- );
- FPdevEmails : Array[1..8] of string = ('[email protected]', '[email protected]',
- '[email protected]', '[email protected]', '[email protected]',
- '[email protected]', '[email protected]', '[email protected]'
- );
- // I know, this results in bogus-values...
- FPdevBirthDates : Array[1..8] of TDateTime = (1-1-1991,2-2-1992,
- 3-3-1993, 4-4-1994, 5-5-1995,
- 6-6-1996, 7-7-1997, 8-8-1998
- );
- procedure ExitWithError(s : string);
- procedure ReadIniFile;
- procedure CreateFConnection;
- procedure CreateFTransaction;
- procedure CreateFQuery;
- implementation
- uses
- inifiles;
- procedure ExitWithError(s : string);
- begin
- writeln(s);
- writeln('Execution aborted');
- halt;
- end;
- procedure ReadIniFile;
- var IniFile : TIniFile;
- begin
- IniFile := TIniFile.Create('database.ini');
- dbtype := IniFile.ReadString('Database','Type','');
- dbname := IniFile.ReadString('Database','Name','');
- dbuser := IniFile.ReadString('Database','User','');
- dbpassword := IniFile.ReadString('Database','Password','');
- IniFile.Free;
- end;
- procedure CreateFConnection;
- begin
- if dbtype = 'mysql40' then Fconnection := tMySQL40Connection.Create(nil);
- if dbtype = 'mysql41' then Fconnection := tMySQL41Connection.Create(nil);
- if dbtype = 'mysql50' then Fconnection := tMySQL50Connection.Create(nil);
- if dbtype = 'postgresql' then Fconnection := tpqConnection.Create(nil);
- if dbtype = 'interbase' then Fconnection := tIBConnection.Create(nil);
- if dbtype = 'odbc' then Fconnection := tODBCConnection.Create(nil);
- if not assigned(Fconnection) then ExitWithError('Invalid database-type, check if a valid database-type was provided in the file ''database.ini''');
- with Fconnection do
- begin
- DatabaseName := dbname;
- UserName := dbuser;
- Password := dbpassword;
- open;
- end;
- end;
- procedure CreateFTransaction;
- begin
- Ftransaction := tsqltransaction.create(nil);
- with Ftransaction do
- begin
- database := Fconnection;
- StartTransaction;
- end;
- end;
- procedure CreateFQuery;
- begin
- Fquery := TSQLQuery.create(nil);
- with Fquery do
- begin
- database := Fconnection;
- transaction := Ftransaction;
- end;
- end;
- end.
|