![]() |
Datenbank: MySQL • Version: - • Zugriff über: -
MySQLDB lesen
Hallo..
in PHP sieht eine Abfrage ja bekanntlich ungefähr so aus:
Code:
Wie kann ich soetwas in Delphi mit den DirectSQL Units realisieren?
<?php
$abfrage = "SELECT * FROM daten WHERE id = '1'"; // oder Variable oder soetwas bei id.. $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo '<hr>Vorname: '; echo "$row->Name "; echo 'Nachname: '; echo "$row->ID"; } ?> In die DB schreiben klappt ganz gut
Delphi-Quellcode:
Aber lesen noch nicht so richtig
var
q: String; ex: Boolean; begin q := 'UPDATE daten SET Name = ''' + Edit1.text + ''' WHERE id = 1'; FResult := FMysql.query(q, true, ex); |
Re: MySQLDB lesen
|
Re: MySQLDB lesen
Ich wusste dass das kommt :lol:
Nur leider habe ich mir das schon öfter durchgelsen und ich blicke bei der angeblichen Abfrage von dem Tutorial nicht durch. Wo bitte soll man bei dieser Abfrage an die Daten kommen und diese ausgeben? Edit: ![]() Da blicke ich nicht durch. |
Re: MySQLDB lesen
Delphi-Quellcode:
q ist die Abfarge. In deinem Fall
FResult := FMysql.query(q, true, ex);
SQL-Code:
SELECT * FROM daten WHERE id = 1;
|
Re: MySQLDB lesen
Mhh.. ok "SELECT * FROM daten WHERE id = 1;" also ist das alles gleich wie in sql?
FResult ist ja aber kein String, wie gebe ich denn dieses in einer Textkomponente aus (RichEdit, Label, Memo usw..) |
Re: MySQLDB lesen
Nei FResult ist das Ergebnis: welches du wie auf Seite4(procedure TForm1.TableStructure) beschrieben, auswerten kannst.
|
Re: MySQLDB lesen
1: Irgentwas klappt da bei "procedure TableContent; (...)" nicht.
Wenn daraus procedure Tform1.TableContent; mache und oben bei Private die Procedur (procedure TableContent;) hinzufüge klappt es. (keine Compilierungsfehler) So.. 2: StringGrid1.Cells[2,i+1]:=IntToStr(af.Field_Type); "[Fehler] Unit1.pas(67): E2003 Undefinierter Bezeichner: 'Field_Type'" Edit: Ich kapier das einfach nicht mehr.. (...) Edit2:
Delphi-Quellcode:
Jetzt hab ich es. Diese Auswertungsprocedur die es da noch gibt die hat mich verwirrt! Die braucht man garnicht.. also Text AUSGEBEN klappt jetzt auch!
procedure TForm1.Button8Click(Sender: TObject);
var q: string; ex: boolean; begin if assigned(FResult) then begin if FMysql.Status<>MYSQL_STATUS_READY then ShowMessage('Ein Ergebnis wurde unvollständig gelesen!'); FreeAndNil(FResult); end; q := InputBox('Geben Sie eine Abfrage ein', 'Welche Abfrage durchgeführt werden soll','SELECT * FROM daten WHERE id = 1'); FResult := FMysql.query(q, true, ex); if assigned(FResult) then begin ShowMessage('Query: OK - Ergebnis gespeichert'); TableContent; end else begin if ex then begin ShowMessage('Query: OK - ausgeführt') end else begin ShowMessage('Query fehlgeschlagen: '+FMysql.LastError); end; end; end; |
Re: MySQLDB lesen
Vielleicht heisst der Member jetzt anders?
|
Re: MySQLDB lesen
Eine generelle Frage hätte ich da jetzt aber noch
Delphi-Quellcode:
das funktioniert nicht und kann ja auch
FMysql.port := Edit4.Text;
nicht funktionieren. Inkompatible Typen: 'Cardinal' und 'TCaption' Klar.. Aber wie mache ich das möglich? Edit: nicht host, sondern port |
Re: MySQLDB lesen
StrToInt, TryStrToInt, Val
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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 by Thomas Breitkreuz