Hallo,
wenn ich alles richtig verstanden habe, dann nutzt Du
MySQL Version 5.1 oder höher und die dbxopenmysql Units. Zwischen
MySQL 5.0 und 5.1 (bei späteren Versionen weiß ich es nicht) gibt es eine kleine Änderung in den Datentypen. Schau Dir mal die Definition von MYSQL_FIELD und MYSQL_RES in der
Unit PlainMysql50 an. Stimmen diese mit der Dokumentation Deiner
MySQL Version überein? Ich habe für
MySQL 5.1 folgende Anpassungen gemacht:
Delphi-Quellcode:
MYSQL_FIELD =
packed record
name: PChar;
org_name: PChar;
table: PChar;
org_table: PChar;
db: PChar;
catalog: PChar;
def: PChar;
length: LongInt;
max_length: LongInt;
name_length: Cardinal;
org_name_length: Cardinal;
table_length: Cardinal;
org_table_length: Cardinal;
db_length: Cardinal;
catalog_length: Cardinal;
def_length: Cardinal;
flags: Cardinal;
decimals: Cardinal;
charsetnr: Cardinal;
_type: Cardinal;
extention: Pointer;
// <-- Gab es in Version 5.0 noch nicht
end;
MYSQL_RES =
packed record
row_count: Int64;
fields: PMYSQL_FIELD;
data: PMYSQL_DATA;
data_cursor: PMYSQL_ROWS;
lengths: PLongInt;
handle: PMYSQL;
field_alloc: MEM_ROOT;
field_count: Integer;
current_field: Integer;
row: PMYSQL_ROW;
current_row: PMYSQL_ROW;
eof: Byte;
unbuffered_fetch_cancelled: Byte;
methods: PMYSQL_METHODS;
extention: Pointer;
// <-- Gab es in Version 5.0 noch nicht
end;
Anschließend das Projekt neu erzeugt (Umsch+F9). Seither funktioniert es mit 5.1 (höhere Versionen habe ich noch nicht getestet).
Gruß