Thema: Delphi select anweisung

Einzelnen Beitrag anzeigen

stathis

Registriert seit: 18. Jul 2005
31 Beiträge
 
#17

AW: select anweisung

  Alt 16. Jan 2013, 21:41
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ß
Das wars Dankeeeeeeeeeeeeeeeeeeeeeeeeeeee
  Mit Zitat antworten Zitat