Last week i 've done some tests about databases & lazarus in Windows. I didn't write any code in the code explorer but only using properties in the object inspector of Lazarus.
I have installed Lazarus 0.9.18_win32 + MySQL 5.0.27 + FireBird 2.0 + FBLib 0.85
----------------
method 1A: FireBird/InterBase (*.fdb) + Lazarus
IBConnection1 -> SQLTransaction1 -> SQLQuery1 -> DataSource1 -> DBGrid1
Result: It works very good inside IDE (Run F9). Scrolling in DBGrid1 is OK
------------
method 1B: FireBird/InterBase (*.fdb) + Lazarus
FBLDatabase1 -> FBLTransaction1 -> FBLDataset1 -> DataSource1 -> DBGrid1
Result: Sometimes it works in IDE, if not then build it (Ctrl+F9) and run it outside IDE :?: . Scrolling gives problem when use key arrow-up.
---------------
method 2: mySQL database + Lazarus
MySQL50Connection1 -> SQLTransaction1 -> SQLQuery1 -> DataSource1 -> DBGrid1
Result: It only works outside IDE :?: . Scrolling in DBGrid1 is OK
==============
Now more details in Object inspector:
---
1A---
IBConnection1: (Properties)
DatabaseName: .....\employee.fdb, Dialect:3, HostName: localhost, KeepConnection: True, Password: masterkey, User: sysdba, Connected: True, (+Transaction: SQLTransaction1)
SQLTransaction1: (Properties)
+Database: IBConnection1, Active: True
SQLQuery1: (Properties)
+Database: IBConnection1, ParseSQL: True, (ReadOnly: True), SQL: [...] select * from customer, StatementType: stSelect, +Transaction: SQLTransaction1, Active: True
Datasource1: (Properties)
+Dataset: SQLQuery1
DBGrid1: (Properties)
+DataSource: Datasource1
---
1B---
FBLDatabase1: (Properties)
DBFile: .....\employee.fdb, Host: localhost, Password: masterkey, SQLDialect: 3, User: sysdba, Connected: True
FBLTransaction1: (Properties)
+Database: FBLDatabase1
FBLDataset1: (Properties)
+Transaction: FBLTransaction1, AutoStartTransaction: True, Active: True
Datasource1: (Properties)
+Dataset: FDLDataset1
DBGrid1: (Properties)
+DataSource: Datasource1
---
2---
MySQL50Connection1: (Properties)
DBFile: .....\testSQLDB, HostName: localhost, KeepConnection: True, LoginPrompt: True/False, Password: root, User: root, Connected: True, (+Transaction: SQLTransaction1)
SQLTransaction1: (Properties)
+Database: MySQL50Connection1, Active: True
SQLQuery1: (Properties)
+Database: MySQL50Connection1, ParseSQL: True, (ReadOnly: True), SQL: [...] select * from any_table, StatementType: stSelect, +Transaction: SQLTransaction1, Active: True
Datasource1: (Properties)
+Dataset: SQLQuery1
DBGrid1: (Properties)
+DataSource: Datasource1
========================
(PS. In Delphi, in order to use DBGrid we must use DatasetProvider & ClientDataset before DataSource. But in Lazarus we don't need them. Why ?)
Best regards