![]() |
Re: MySQL ohne Komponenten
Zitat:
![]() |
Re: MySQL ohne Komponenten
Das Prinzip ist immer das Gleiche:
Delphi-Quellcode:
Ungetestet, sollte aber im Groben funktionieren.
procedure TForm1.Button1Click(Sender: TObject);
var Con: PMYSQL; host, user, pass, db: PChar; Row: PMySQL_Row; Res: PMYSQL_RES; query: string; i: integer; begin host := 'localhost'; user := 'root'; pass := ''; db := 'apitest'; Con := mysql_init(nil); if Assigned(Con) then try if Assigned(mysql_real_connect(Con, host, user, pass, db, 3306, nil, 0)) then begin query := 'SHOW TABLES FROM apitest'; mysql_real_query(Con,PChar(query), Length(query)); Res := mysql_store_result(Con); if Assigned(Res) then for i := 0 to mysql_num_rows(Res) - 1 do begin Row := mysql_fetch_row(Res); Memo1.Lines.Add(Row[0]); end; end else ShowMessage(mysql_error(Con)); finally mysql_close(Con); end; end; |
Re: MySQL ohne Komponenten
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ist zwar schon lange her, dass zu diesem Thema etwas geschrieben wurde, aber ich habe eine Frage und finde trotz intensivster Suche keine ANtwort. Ich weiß auch, dass es wahrscheinlich angebracht wäre, einen neuen Beitrag zu erstellen, aber ich hoffe hier eine bestimmte Gruppe von Usern ansprechen zu können - nämliche solche, die Delphi und MySQL ohne Komponenten verbunden haben... Ich habe alle so gemacht, wie es oben beschrieben wurde - mit großem Erfolg. Allerdings war es nur möglich, StringGrids mit Daten aus der DB zu füllen. Ich benötige eine Möglichkeit, wie ich ein Edit-Feld mit Daten bestücken kann. Folgendes hatte ich mir überlegt - ohne Erfolg:
Delphi-Quellcode:
Ich bekomme nur Fehlermeldungen. Die Verbindung zur MySQL DB klappt zwar einwandfrei, ich bekomme aber keine einzelnen Daten heraus, sondern nur in einem StringGrid (FillGrid)
function FillEdit(const Datenbank, query, Spalte: string; ED:TEdit): Boolean;
var MySQLRes: PMYSQL_RES; Field: PMYSQL_FIELD; ErrorCode: Integer; begin connect; // Datenbank auswählen ErrorCode := mysql_select_db(_mycon, PChar(Datenbank)); if ErrorCode = 0 then begin // Query ausführen ErrorCode := mysql_real_query(_mycon, PChar(query), length(query)); if ErrorCode = 0 then begin // Query speichern MySQLRes := mysql_store_result(_mycon); if Assigned(MySQLRes) then begin with MySQLRes do begin ED.Text:=FieldByName(Spalte).AsString; end; end; end; end; end; procedure TBackForm.Button1Click(Sender: TObject); var query:string; Spalte :string; begin connect; query:='select * from auftrag where FA_NR=100014'; spalte.text:='ArtikelNr'; filledit (DB, query, Spalte, edit1); disconnect; end; Es wäre SPITZE, wenn mir einer weiterhelfen könnte, da ich mit meinem Latein am Ende bin (nach 50-60 Stunden Ausprobieren).. Danke |
Re: MySQL ohne Komponenten
Der Fehler ist in folgender Zeile:
Delphi-Quellcode:
Das kann nicht gehen, da Du keine TTable oder TQuery verwendest und daher auch keine TFields hast, die Du mit FieldbyName direkt ansprechen kannst.
ED.Text:=FieldByName(Spalte).AsString;
Du musst vielmehr den Umweg über das Stringgrid nehmen und das gewünschte Feld auswählen, dann kannst Du den Text als normalen String an das Edit-Feld übergeben... Schau auch mal in den Beitrag #262 von DeddyH, dort wird das Prinzip eigentlich schon sehr gut erklärt, da wird in ein Memo geschrieben, muss man eigentlich nur auf TEdit umstellen... :coder: |
Re: MySQL ohne Komponenten
Oder aber du deklarierst dir ein Record und schreibst dort die Daten rein und nimmst einfach die Information raus und schreibst sie ins TEdit.
Und Spalte.Text gibts net. Spalte := ... wuerde schon eher gehen! |
Re: MySQL ohne Komponenten
Ich wollte mit der mySQL Direct... einen Insert ausführe, doch sagt mir der Compiler
[Fehler] test_pas.pas(88): String-Literale können maximal 255 Elemente besitzen[code] ja aber was mach ich nun? mein Insert ist halt über 300 Zeichen da er viele Felder hat... HIIILFE :-) Geht es nur in dem ich den String aufteile? |
Re: MySQL ohne Komponenten
Moin Doreen,
Zitat:
'Literal1'+'Literal2'+... Jeweils maximal 255 Zeichen. |
Re: MySQL ohne Komponenten
Der Link im 1. Post ist immernoch veraltet und down.
Vielleicht könnte man ja nun, fast 1,5 Jahre später mal einigen Vorschlägen (von z.B. seite 16) folgen und da Einiges editieren? |
Re: MySQL ohne Komponenten
Zitat:
|
Re: MySQL ohne Komponenten
bei mir 18
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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