Thema: Delphi select anweisung

Einzelnen Beitrag anzeigen

Volker Z.

Registriert seit: 4. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#16

AW: select anweisung

  Alt 16. Jan 2013, 14:14
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ß
Volker Zeller
  Mit Zitat antworten Zitat