Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Abfragen Problem (https://www.delphipraxis.net/32861-abfragen-problem.html)

Brueckenhauer 28. Okt 2004 21:10


Abfragen Problem
 
Ich möchte eine Abfrage die so lautet:

select * from land order by datum

ausführen, da kommt aber leider eine Fehlermeldung, wie kann ich es anders machen?

Delphi-Quellcode:
  Form1.connect();
FMysql.Connect;
if assigned(FResult) then begin
    if FMysql.Status<>MYSQL_STATUS_READY then
        ShowMessage('Ein Ergebnis wurde unvollständig gelesen!');
        FreeAndNil(FResult);
    end;
    q :='select * from land order by datum';
    for
    FResult := FMysql.query(q, true, ex);
FMysql.close;
was ist daran falsch? Weil sonst klappen abfragen super damit.

fkerber 28. Okt 2004 21:12

Re: Abfragen Problem
 
Hi!

Welche Fehlermeldung kommt denn?


Ciao Frederic

Brueckenhauer 28. Okt 2004 21:16

Re: Abfragen Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
Erst kommt die Meldung siehe Bild und danach sehe ich das:
result:=connect(fhost,fuser,fpasswd,fdb,fport,funi x_socket,ftrysock,fclient_flag);

fiasko 28. Okt 2004 21:21

Re: Abfragen Problem
 
Wurden die Objekte (vorallem FMysql) die du verwendest richtig angelegt? An welcher Stelle im Code fliegt er denn raus?

fkerber 28. Okt 2004 21:24

Re: Abfragen Problem
 
Hi!

Zitat:

Zitat von Brueckenhauer
Erst kommt die Meldung siehe Bild und danach sehe ich das:
result:=connect(fhost,fuser,fpasswd,fdb,fport,funi x_socket,ftrysock,fclient_flag);

Die hier von dir erwähnt Stelle im Quellcode taucht ja oben in deinem Auszug gar nicht auf? Wo steht der denn? Poste am Besten mal alles, was von Relevanz sein könnte. (Falls es die ganze Unit ist, bitte anhängen)

Ciao Frederic

Brueckenhauer 29. Okt 2004 05:31

Re: Abfragen Problem
 
Liste der Anhänge anzeigen (Anzahl: 1)
diese stelle ist in der unten gepostetn datei....aber soweit ich herausgefunden habe kommt da nur eine fehlermeldung wenn der mehr als 1 Datenreihe als Ergebnis bekommt...

Brueckenhauer 29. Okt 2004 15:52

Re: Abfragen Problem
 
hat keiner eine Ahnung wo das dran liegen kann?

Memo 29. Okt 2004 16:23

Re: Abfragen Problem
 
Zitat:

Zitat von Brueckenhauer
Delphi-Quellcode:
  Form1.connect(); <----Du connectest eine Form?
FMysql.Connect;
if assigned(FResult) then begin
    if FMysql.Status<>MYSQL_STATUS_READY then
        ShowMessage('Ein Ergebnis wurde unvollständig gelesen!');
        FreeAndNil(FResult);
    end;
    q :='select * from land order by datum';
    for FResult := FMysql.query(q, true, ex); <---das hat der Compiler gefressen?

FMysql.close;

Bist du dir sicher den oben gezeigten Quellcode überhaupt compiliert bekommen zu haben?

Brueckenhauer 29. Okt 2004 16:41

Re: Abfragen Problem
 
also zu 1. das mit der Form1.connect(); das passt, da die abfrage auf form4 ist und der die connect daten von form1 benutzen soll, das mit dem for Fresult ist ein Tippfehler, das for gehört da nicht hin....

Memo 29. Okt 2004 17:06

Re: Abfragen Problem
 
Dann zeig doch mal wie du FMysql erzeugst. Deine erste Fehlermeldung sieht aus als ob du auf etwas nicht existierendes zugreifst.

PS. Benutzt mal FMysql als Suchbegriff hier im Forum. Es gab mal jemanden mit einem ähnlichen Problem, es stellte sich heraus, das er MySql gar nicht installiert hatte(ich will dir aber nichts unterstellen :wink: )

Brueckenhauer 29. Okt 2004 17:09

Re: Abfragen Problem
 
Mysql geht, da ich in der ersten form schon eine abfrage mache, die super funktioniert nur in der 4ten form macht selbst die gleiche abfrage probleme.....

Memo 29. Okt 2004 17:24

Re: Abfragen Problem
 
Zitat:

Zitat von Brueckenhauer
Mysql geht, da ich in der ersten form schon eine abfrage mache, die super funktioniert nur in der 4ten form macht selbst die gleiche abfrage probleme.....

Was meinst du vorhin mit "die Abfrage ist auf Form4"? Wo steht denn nun der Quellcode, in Form1 oder Form4?
Ich kann irgenwie nicht erkennen, dass du FMysql aus einer anderen Form(Form1?) benutzt.

PS. Die pas-Datei die du an deinen Beitrag oben angehängt hast, ist zu diesem Problem nicht sehr hilfreich.

Brueckenhauer 29. Okt 2004 17:34

Re: Abfragen Problem
 
also, in form1 stehen die connect daten, datenbank, name, pw usw... dann wird in form4 oben bei uses das: umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers angehängt dadrunter kommt: {$I mysqlinc.inc} und dann wird bei private das eingetragen:
FMysql: TMysqlClient;
FResult: TMysqlResult;

und dann halt der obige quelltext, auf form1 geht er und auf form4 gibt er halt die obig gepostete Fehlermeldung aus.

Memo 29. Okt 2004 17:45

Re: Abfragen Problem
 
Hast du :
Code:
FMysql := TMysqlClient.create;
eingebaut?

Brueckenhauer 29. Okt 2004 18:07

Re: Abfragen Problem
 
ja, hatte ich vergessen zu schreiben....

Memo 29. Okt 2004 18:34

Re: Abfragen Problem
 
Code:
Form1.connect();
Ich bleibe immer wieder hier hängen. Was passiert in dieser Zeile? Wie übergibst du die Verbindungsdaten von FMySql?

Brueckenhauer 29. Okt 2004 18:36

Re: Abfragen Problem
 
dadrinne steht das:

procedure Tform1.connect();
begin
// Eigenschaften der Verbindung Anfang
FMysql.Host := '+++++';
FMysql.port := 3306;
FMysql.user :='++++';
FMysql.password := '++++';
FMysql.UnixSocket := '';
FMysql.Db := '++++'; // Datenbank auf dem Server
FMysql.UseNamedPipe := false;
FMysql.UseSSL := false;
FMysql.Compress := true;
FMysql.TrySockets := false;
// Eigenschaften der Vebindung Ende
end;

Memo 29. Okt 2004 18:41

Re: Abfragen Problem
 
Zitat:

Zitat von Brueckenhauer
dadrinne steht das:

procedure Tform1.connect();
begin
// Eigenschaften der Verbindung Anfang
FMysql.Host := '+++++';
FMysql.port := 3306;
FMysql.user :='++++';
FMysql.password := '++++';
FMysql.UnixSocket := '';
FMysql.Db := '++++'; // Datenbank auf dem Server
FMysql.UseNamedPipe := false;
FMysql.UseSSL := false;
FMysql.Compress := true;
FMysql.TrySockets := false;
// Eigenschaften der Vebindung Ende
end;

Der war gut :mrgreen: Wenn ich Dich richtig verstanden habe hast du FMysql im privat von Form1 deklariert. Jetzt kommst du von Form4 weisst die Werte FMysql(von Form1 zu) kehrst zu Form4 zurück und erwartest das die FMysql(von Form4) von der Zuweisung etwas mitbekommen hat. Das kann nicht funktionieren.

Brueckenhauer 29. Okt 2004 19:03

Re: Abfragen Problem
 
ok, lassen wa das :lol: jetzt gehts....

Brueckenhauer 29. Okt 2004 19:09

Re: Abfragen Problem
 
aber eine Frage noch....Ich bekomme bei einem ergebnis auf 30 Reihen als ergebnis, wie bekomme ich jede reihe des ergebnisses in eine Zeile der Listbox?

fkerber 29. Okt 2004 19:31

Re: Abfragen Problem
 
Hi!

Am besten stellst du deine Frage in einem neuen Thread - von wegen der Übersichtlichkeit :wink:


Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz