![]() |
Re: MySQL ohne Komponenten
Ich hab mal noch eine frage, und zwar wenn ich die Thread ID ermitteln will, tue ich das doch mit 'mysql_thread_id()'.
Ich bin leider da noch nicht so ganz durchgestiegen welche Var muss ich jetzt deklarieren, und wie/wo ermittel ich die id? Ein Codebsp würde mir da mit sicherheit weiterhelfen, ich brauche ja nur erstmal den Ansatz. Danke Pemue Hat sich schon erledigt, ... |
Re: MySQL ohne Komponenten
So aber jetzt habe ich mal noch ein Anliegen:
und zwar beim auslesen der Spaltenüberschriften.
Delphi-Quellcode:
das ganze erstmal nur zu testzwecken... aber es wird immer nur 'id' ausgegeben, obwohl die spaltenüberschriften der Tabelle: 'id', 'author', 'date' und 'entry' sind...
var
_myFields: PMYSQL_FIELD; {...} begin {...} _myFields:= mysql_fetch_field(_myRes); ShowMessage(String(_myFields.name)); {...} end; Was mache ich falsch? |
Re: MySQL ohne Komponenten
Du liest ja auch immer nur den ersten Wert. Gibt es so etwas wie mysql_enumfields? Wenn ja, müsstest Du das aufrufen und in einer Schleife durch die Felder iterieren.
|
Re: MySQL ohne Komponenten
ja es gibt _type: enum_field_types im TMYSQL_FIELD = record.
aber wenn ich jetzt schreibe:
Delphi-Quellcode:
Dann kommt immer: 'Array-Typ erforderlich';for i := 0 to High(Posts) do begin _myFields:= mysql_fetch_field(_myRes); ShowMessage(_myFields._type[i]); end; aber wenn ich das array in der mysql.pas reinschreibe
Delphi-Quellcode:
sagt er mir 'bezeichner redifiniert'
TMYSQL_FIELD = array[0..MaxInt div SizeOf(pChar) - 1] of pChar;
|
Re: MySQL ohne Komponenten
Der Link zur Header-Übersetzung im ersten Post ist leider tot. Daher rate ich mal ins Blaue: wenn die Funktionen so heißen wie in PHP und auch so ähnlich arbeiten, kannst Du Folgendes einfach nach Delphi übersetzen (das Beispiel unten):
![]() |
Re: MySQL ohne Komponenten
Den Header kann man
![]() [EDIT:] also im header steht ja
Delphi-Quellcode:
nur leider weis ich mit diesem 'wild' nichts anzufangen
mysql_list_fields: function(_mysql: PMYSQL; const table, wild: pChar): PMYSQL_RES; stdcall;
ich habe jetzt folgenden code:
Delphi-Quellcode:
query := 'SHOW COLUMNS FROM posts';
mysql_real_query(_myCon, pchar(query), Length(query)); _myRes := mysql_list_fields(_mysql, 'posts', ); //alle Datensätze vom Server anfordern if _myRes = nil then begin ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon)); Exit; end; |
Re: MySQL ohne Komponenten
Ich kann das gerade hier nicht testen, da es schon beim mysql_init kracht. Mal sehen, ob ich heute Abend zu Hause etwas probieren kann.
|
Re: MySQL ohne Komponenten
dankeschön das währe echt nett von dir, vielen dank schonmal ich freu mich auf eine erfolgsversprechende antwort
|
Re: MySQL ohne Komponenten
Leute, was meint ihr denn, wozu MySQL die Schnittstellen der APIs beschreibt? Auf jeden Fall nicht, damit Leute rätselraten, was wohl bestimmte Parameter bedeuten ;-)
![]() |
Re: MySQL ohne Komponenten
Du kannst es ja mal so versuchen (ungetestet):
Delphi-Quellcode:
type TErgebnis = array of string;
var Ergebnis: TErgebnis; Row: PMySQL_Row; ... query := 'SHOW COLUMNS FROM posts'; mysql_real_query(_myCon, pchar(query), Length(query)); _myRes := mysql_store_result(_myCon); if _myRes = nil then begin ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon)); Exit; end; SetLength(Ergebnis, mysql_num_rows(_myRes)); for i := Low(Ergebnis) to High(Ergebnis) do begin Row := mysql_fetch_row(_myRes); Ergebnis[i] := Row[0]; //Name des Felds end; mysql_free_result(_myRes); SetLength(Ergebnis,0); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz