Pages

Friday, 9 May 2014

How to create database connection with Firebird in Delphi using FIBPLUS components?

How to create database connection with Firebird in Delphi using FIBPLUS components?

I am using Firebird 2.5.2 with Delphi XE4. I will show you how to create a database connection with Firebird database in Delphi XE4 using FIBPLUS component? Just go into the Tool Palette and search for TpFIBDatabase component under FIBPLUS. Drag it into the form and name it. I have given "dbMyDatabase" name to TpFIBDatabase database component. If you see your pas file, a declaration for TpFIBDatabase will look like this:

vardbMyDatabase: TpFIBDatabase;Now create a function "ConnectToDatabae" with return type boolean. This function will return true if Firebird database connection is established successfully otherwise false.function TMyForm.ConnectToDatabase : boolean; begin result := False; try try with dbMyDatabase do beginDBName := 'C:\MyProject\MyDB.FDB';ConnectParams.UserName := 'SYSDBA';ConnectParams.Password := 'masterkey';LibraryName := 'C:\Program Files(86)\Firebird\Firebird_2_5\bin\fbclient.dll'; Connected := True; end; result := True; except` result := False;end; finally dbMyDatabase.Connected := False; end;end;In the above function, I have set different properties of TpFIBDatabase component like DBName, Username, Password, LibraryName etc as following:DBName := 'C:\MyProject\MyDB.FDB'; //MyDB is the firebird database nameConnectParams.UserName := 'SYSDBA'; //Default username of firebird databaseConnectParams.Password := 'masterkey'; //Default password of firebird databaseLibraryName := 'C:\Program Files(86)\Firebird\Firebird_2_5\bin\fbclient.dll'; //Default library path of firebird databaseNote: You can set all these properties at design time in your dfm file. But I would recommend to write all these settings in your pas file.After setting the above properties, I have set connected property to true. If Firebird database connection is established successfully, above function will return true otherwise false. Finally, I am disconnecting the database.