Der erste Schritt und mehr ist bereits getan - habe das Grundgerüst inklusive vieler Methoden bereits lauffähig. Bei Interesse siehe hier:
http://fisheye.heidisql.com/trunk/extra/mysql_dataset
Vor allem die TMySQLConnection funktioniert schon ganz passabel. Außer das Herstellen einer normalen Verbindung kann sie bereits:
- Versions-abhängige Server-Features in einem Set bereitstellen, um zu vermeiden, daß die Client-Anwenung Sachen machen muß wie
if Connection.ServerVersion >= 40001 then ... else ...
Stattdessen macht man einfach
if cpTruncateTable in Connection.Capabilities then ... else ...
- Escaping von Strings mithilfe von mysql_real_escape_string
- Properties wie ThreadId, CharacterSet, LastError sind auch drin.
Die mysql_api.pas habe ich aus Teilen der
mysql.pas von Matthias Fichtner und des Pendants in der ZeosLib zusammengebastelt, sodaß diese jetzt auch auf dem aktuellen Stand für die 5er
MySQL ist.
Nur mit dem Holzstäbchen verschieben für die internen Methoden der TMySQLQuery(TDataSet) tue ich mich echt schwer - genauer gesagt mit den Methoden GetFieldData, SetFieldData, GetRecordSize u.ä. . Wird also noch seine Zeit brauchen.
Falls natürlich jemand Interesse hat, an dieser OpenSource Komponente mitzuarbeiten, der ist herzlich eingeladen