michael 7d24ef2ff3 + Fix from Alexandrov Alexandru for CheckFieldNames 20 سال پیش
..
dbase 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
interbase 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
memds 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
mysql 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
odbc 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
sdf 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
sqldb cf7f323975 + Fixed a memleak regarding parameters in TSQLQuery 20 سال پیش
sqlite 345472138d * Patch from Luiz Américo 20 سال پیش
tests 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
Dataset.txt 03db18cfb1 + Conform latest issues 21 سال پیش
Makefile 8602390d46 * Makefiles regenerated to propagate -Ur change of fpcmake 20 سال پیش
Makefile.fpc 86f78c7300 * units are now created in separate directory units/cpu-os/ 21 سال پیش
README db24d91c85 * old logs removed and tabs fixed 23 سال پیش
bufdataset.inc 18b080f47e * Fixed a mem-leak 20 سال پیش
database.inc 4ace790492 * remove $Log 20 سال پیش
dataset.inc fd8de7640e -removed TDataset.TempBuffer 20 سال پیش
datasource.inc 99de6df34e - fixed some warnings 20 سال پیش
db.pp 9868554dee - patch from Alexandrov Alexandru for TSmallIntFields 20 سال پیش
dbconst.pp efdbe66a2f + LookupField implementation from Alexandrov Alexandru 20 سال پیش
dbwhtml.pp 790a4fe2d3 * log and id tags removed 20 سال پیش
ddg_ds.pp 790a4fe2d3 * log and id tags removed 20 سال پیش
ddg_rec.pp 790a4fe2d3 * log and id tags removed 20 سال پیش
dsparams.inc 4ace790492 * remove $Log 20 سال پیش
fields.inc 7d24ef2ff3 + Fix from Alexandrov Alexandru for CheckFieldNames 20 سال پیش
fpmake.inc cc4818be26 + initial implementation of new fpmake compile tools 20 سال پیش
fpmake.pp cc4818be26 + initial implementation of new fpmake compile tools 20 سال پیش

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.