Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL fehler beim result abfragen (https://www.delphipraxis.net/21999-mysql-fehler-beim-result-abfragen.html)

tuxic 11. Mai 2004 08:07


MySQL fehler beim result abfragen
 
Hi, folgender Source funzt leider nicht so wie ich es gerne hätte ;).
In der markierten Zeile bekomme ich leider eine Exception in Adresse 0x00000000.
Höhrt sich ja an, als wenn ich irgendein Pointer auf nil steht, nur leider hab ich keine Ahnung von mysql.pas und API. Könnt ihr mir helfen, um da irgendwann mal hinter zu steigen? :)

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  _connector:PMySQL;
  _foo:PMySQL_Row;
begin
  _connector.host := 'rooties.de';
  _connector.user := 'tuxic';
  _connector.passwd := 'foobar42';
  mysql_init(_connector);
  mysql_select_db(_connector, 'test');
  mysql_query(_connector, 'SELECT * FROM test WHERE id = 1');
  label1.Caption := inttostr(mysql_num_rows(mysql_store_result(_connector))); //<- hier fehler
  mysql_close(_connector);
end;
cheers
Daniel

MarcusB 11. Mai 2004 11:57

Re: MySQL fehler beim result abfragen
 
Ich bin mir nicht sicher, aber eventuell liefert

Delphi-Quellcode:
mysql_num_rows(mysql_store_result(_connector))
bei einer leeren Ergebnismenge nicht '0' sondern 'nil' und dann fällt IntToStr auf die Nase.

yankee 11. Mai 2004 12:28

Re: MySQL fehler beim result abfragen
 
Also mich verwirrt der Quelltext irgendwie. Also wenn ich das richtig verstehe, dann willst du die Zeile mit der id 1 in einem Label ausgeben...
Und das würde ich dann so machen:
Delphi-Quellcode:
with connection do
begin
  Host :='rooties.de';
  User:='tuxic';
  Passwd :='foobar42';
end;

with Query do
begin
  SQL.Text :='SELECT * FROM test WHERE `id` =''1''';
  Open;
  while not eof do //brauchst du nur bei mehreren Zeilen
  begin
  Label1.Caption :=ZQuery1.FieldByName('FeldN').AsString); //FeldN =Spalte
  ... //Musst du für alle Spalten machen...
  end;
end;
Das meiste von deinem Quelltext erinnert mich an PHP, nicht an Delphi...

Chewie 11. Mai 2004 12:56

Re: MySQL fehler beim result abfragen
 
Zitat:

Zitat von yankee
Das meiste von deinem Quelltext erinnert mich an PHP, nicht an Delphi...

Ist schon richtig so ;) Das ist die C-API, die sehr ähnlich der PHP-API ist.

Der Fehler dürfte wohl daher rühren, dass er die libmysql.dll nicht findet. Diese muss sich entweder im gleichen Verzeichnis oder im Windows- oder im Windows/Sytem(32)-Verzeichnis befinden.

yankee 11. Mai 2004 13:01

Re: MySQL fehler beim result abfragen
 
Ach richtig, das Problem hatte ich auch mal (Hier)

tuxic 11. Mai 2004 17:16

Re: MySQL fehler beim result abfragen
 
Zitat:

Zitat von Chewie
Zitat:

Zitat von yankee
Das meiste von deinem Quelltext erinnert mich an PHP, nicht an Delphi...

Ist schon richtig so ;) Das ist die C-API, die sehr ähnlich der PHP-API ist.

Der Fehler dürfte wohl daher rühren, dass er die libmysql.dll nicht findet. Diese muss sich entweder im gleichen Verzeichnis oder im Windows- oder im Windows/Sytem(32)-Verzeichnis befinden.

ja, die ist aber im Windows Verzeichnis (bzw. System-Verzeichnis)

tuxic 11. Mai 2004 17:19

Re: MySQL fehler beim result abfragen
 
btw: ich weiß, ich könnt mich steinigen... ich hab mein passwort aber schon geändert... is doch zum :kotz:
und ich wollte gaaaaanz fest dran denken einfach irgendwelche userdaten einzutragen
:duck:

bloß gut das da eh keine wichtigen daten drin sind :spin:

cheers
Daniel

yankee 11. Mai 2004 17:33

Re: MySQL fehler beim result abfragen
 
:lol: :lol: :lol: :lol: :lol: :lol:
Tja, ich habe mich ja schon gewundert...
*gggggggggggggggg*


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