michael e5431e6db2 - Patch from Jesus Reyes: 20 years ago
..
dbase 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
interbase 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
memds 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
mysql 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
odbc 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
sdf 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
sqldb 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
sqlite 11eefecc8c * Patch from Luiz Américo: 20 years ago
tests 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
Dataset.txt 03db18cfb1 + Conform latest issues 21 years ago
Makefile 6cf4eb98c3 * use current fpcmake instead of from 1.9.8 20 years ago
Makefile.fpc 86f78c7300 * units are now created in separate directory units/cpu-os/ 21 years ago
README db24d91c85 * old logs removed and tabs fixed 23 years ago
bufdataset.inc 734aa62d36 - check for editable state in SetFieldData 20 years ago
database.inc 89e6318dd8 + Added TCustomConnection by Uberto Barbini 20 years ago
dataset.inc 44d8cf713c - fixed mem-leak in TDataset.SetBufListSize 20 years ago
datasource.inc b3403d51c8 - set FDatasource to nil in TDatalink.Create 20 years ago
db.pp 69a6bf363a * Some patches from Uberto Barbini 20 years ago
dbconst.pp e7bf4ac4bf Patch from Alexandrov Alexandru 20 years ago
dbwhtml.pp e417e34496 * truncate log 20 years ago
ddg_ds.pp e417e34496 * truncate log 20 years ago
ddg_rec.pp e417e34496 * truncate log 20 years ago
dsparams.inc f4499022c2 - removed TParam.FNull 20 years ago
fields.inc e5431e6db2 - Patch from Jesus Reyes: 20 years ago

README

This is the Database directory of the Free Component Library.

At the moment, there is a read/write implementation of TDataset.
The blob support is not tested yet.

Compiling the units:

Just run 'make all' and all should go fine, provided
1) The mysql unit is in the compiler path (the makefile will try to compile
it in the packages mysql subdirectory)
2) the mysqlclient library is in /usr/lib (if you want to compile the mtest
program)
if these conditions are not satisfied, you should edit the makefile
and add -Fl/path/to/libmysqlclient to NEEDOPTS as well as
the -Fu/path/to/mysql/unit option.

Compiling the examples:

If the units compile fine, then the examples can be compiled by doing
'make examples'. see also the above remarks.

there are 2 descendents of TDataset to demonstrate/test the
TDataset implementation.

TddgDataset :

Implemented in ddg_ds and ddg_rec. The dataset as
implemented in the Delphi 4 Developers Guide.
To test it, do a
createds filename
testds filename
tested filename
the first creates a flat file, filled with 100 records;
the second tests the navigation methods of TDataset on this file.
the third tests the editing methods of TDataset (Append,Insert
and edit)

TMySQLdataset :
Implemented in mysqldb. You need the mysql units for this.
This is a temporary implementation based on the code from
Rangel Gustavo Reale ([email protected])
it will be used as a base for the DBdataset scalable dataset
implementation.
To test it, do a
mtest db user pwd SQL
this will run the query SQL on the database db with user
'user' and password 'pwd', and dump the result. Take care
that you don't specify blob fields.
To test it on the table created by the mkdb shell script
that comes with the Free Pascal mysql unit, I did a
mtest test michael pwd 'select * from FPdev'

I haven't implemented/tested blob fields yet.

Enjoy !

Michael.