Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Abfrage der Tabelle funktioniert nicht (MySQL) (https://www.delphipraxis.net/17288-abfrage-der-tabelle-funktioniert-nicht-mysql.html)

Plague 2. Mär 2004 17:53


Abfrage der Tabelle funktioniert nicht (MySQL)
 
Hallo,

ich habe ein Programm nach dem Tutorial von delphi-source.de geschrieben, mit dem ich eine MySQL Datenbank abfragen will. Das Programm lässt sich ohne Probleme ausführen und auch das Connecten, Pingen und Trennen funktioniert wunderbar. Mein Problem liegt in der Abfrage. Ich habe eine Tabelle in der MySQL Datenbank die ich abfragen möchte, aber das funktioniert nicht. Bei einer Abfrage (egal ob der Eintrag vorhanden ist oder nicht) kommt folgender Fehler:
Query fehlgeschlagen: You have an error in your SQL syntax near 'Suchbegriff' at line 1

Mein Code für die Abfrage Lautet:
Delphi-Quellcode:
procedure TForm1.Button6Click(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','');
  FResult := FMysql.query(q, true, ex);
  if assigned(FResult) then
    ShowMessage('Query: OK - Ergebnis gespeichert')
  else
    if ex then
      ShowMessage('Query: OK - ausgeführt')
    else
      ShowMessage('Query fehlgeschlagen: '+FMysql.LastError);
end;
Kann mir da jemand helfen?

Danke
Thomas

fkerber 2. Mär 2004 17:59

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
HI!

Ist nur so ein Verdacht, aber ich habe das was mit

Delphi-Quellcode:
QuotedStr
im Ohr. Vielleicht hilft das.


ciao fkerber

kiar 2. Mär 2004 18:08

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Zitat:

You have an error in your SQL syntax near 'Suchbegriff' at line 1
den musste uns aber auch zeigen :stupid:

raik

Plague 2. Mär 2004 18:10

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Was soll ich damit machen?
Soll ich das Ergibnis so schreiben?
Also:
FResult := FMysql.QuotedStr;

???

Plague 2. Mär 2004 18:12

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Der Suchbegriff war "2002" (auf das Jahr bezogen). Die Spalte in der es steht war "Jahr". Aber was tut das zur Sache?

fkerber 2. Mär 2004 18:13

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Hi!

Ich dachte mehr an sowas:

Delphi-Quellcode:
FResult := FMysql.query(quotedstr(q), true, ex);
Ist aber nur ein vager verdacht.


Ciao fkerber

Plague 2. Mär 2004 18:16

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
@fkerber - und den Rest :wink:

Das klappt leider auch nicht.
Aber mir ist jetzt aufgefallen, dass der Name der Tabelle im gesamten Quelltext nicht vorkommt. Wo muss ich den denn eintragen und mir welchem Befehl?

kiar 2. Mär 2004 18:23

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
zeig uns bitte mal den sql-string bitte!!!!!!!!!!!!!!!!!

Plague 2. Mär 2004 18:28

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Der steht doch oben in meinem ersten Beitrag.
Oder meinst Du was anderes?

kiar 2. Mär 2004 18:32

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
das habe ich mir gedacht. ein sql string sieht so aus
SQL-Code:

select * from datenbank where bedingung = wasweisich
beschäftige dich mit sql

raik

Plague 4. Mär 2004 19:16

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
Ich habe mich jetzt mal ein bisschen intensiver mit MySQL Datenbank abfragen beschäftigt. Ich weiß nun auch was der Abfrage String ist ;)
Aber wo setze ich den nun ein? Wie schon oben im Quelltext-Beispiel, gibt es ja keine Möglichkeit den einzusetzen.
Das muss ich ja irgendwie über die Query´s in dem Quelltext laufen, oder?

Danke
Thomas

kiar 4. Mär 2004 19:31

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
vielleicht so

Delphi-Quellcode:

procedure DeineForm.Button1click(Sender :TObject);

begin
   query1.close;
   query1.sql.clear;
   query1.sql.add('select * from DeineDB')
   query1.open;
end;

Plague 4. Mär 2004 19:34

Re: Abfrage der Tabelle funktioniert nicht (MySQL)
 
So einen Quelltext habe ich auch im Internet gefunden. Aber wie bekomme ich dann die Resultate in meinen String/StringGrid?
Das heißt ja bei mir so:
FResult := ???
Gibt es da vielleicht sowas wie Query.Relults?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 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