Einzelnen Beitrag anzeigen

samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#39

AW: MySQL mit Delphi

  Alt 31. Jul 2013, 14:19
Einer der Ziele bei der neuen mysql.pas war es, zu erreichen, dass die Schnittstelle weitgehend unabhängig von der Version der zugrunde liegenden libmysql.dll wird. Das genau ist nicht gegeben, wenn man direkt mit den Zeigern arbeitet. Leider wurden die internen Strukturen lange Zeit über die verschieden Versionen verändert (das ist der Kern des Problems, weshalb die neue mysql.pas nur begrenzt kompatible ist).
Gleichzeitig gab für bestimmte Werte keine entsprechenden Abfragefunktionen. Erst bei den neuen Versionen (der DLL) hat man anscheinend erkannt, dass das ständige Ändern der internen Strukturen bei statisch gelinkten Bibliotheken kein Problem ist, wohl aber bei dynamisch geladenen Bibliotheken, wie z.B. DLLs. Aus diesem Grund gibt es bei der mysql.pas zusätzliche Funktionen, die den Zugriff auf bestimmte Parameter von der internen Struktur abschirmt. Dazu gehören:

mysql_field_name
mysql_field_tablename
mysql_field_default
mysql_field_type
mysql_field_flag
UpdateField

Wie gesagt, diese Funktionen können unabhängig von der verwendeten DLL verwandt werden und deshalb sollten diese Funktionen bevorzugt eingesetzt werden. "Richtig" im Sinne der neuen mysql.pas wäre also

Cols[i] := mysql_field_name(field);
  Mit Zitat antworten Zitat