AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MySQL fehler beim result abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL fehler beim result abfragen

Ein Thema von tuxic · begonnen am 11. Mai 2004 · letzter Beitrag vom 11. Mai 2004
Antwort Antwort
tuxic

Registriert seit: 3. Feb 2004
Ort: Berlin
90 Beiträge
 
#1

MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 08:07
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
LOAD "Windows XP", 8, 1
---- immerhin ein floppy, und keine Datasette ----
http://www.devloop.de
  Mit Zitat antworten Zitat
MarcusB

Registriert seit: 7. Mär 2004
121 Beiträge
 
Delphi 7 Professional
 
#2

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 11:57
Ich bin mir nicht sicher, aber eventuell liefert

mysql_num_rows(mysql_store_result(_connector)) bei einer leeren Ergebnismenge nicht '0' sondern 'nil' und dann fällt IntToStr auf die Nase.
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#3

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 12:28
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...
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 12:56
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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#5

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 13:01
Ach richtig, das Problem hatte ich auch mal (Hier)
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
tuxic

Registriert seit: 3. Feb 2004
Ort: Berlin
90 Beiträge
 
#6

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 17:16
Zitat von Chewie:
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)
LOAD "Windows XP", 8, 1
---- immerhin ein floppy, und keine Datasette ----
http://www.devloop.de
  Mit Zitat antworten Zitat
tuxic

Registriert seit: 3. Feb 2004
Ort: Berlin
90 Beiträge
 
#7

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 17:19
btw: ich weiß, ich könnt mich steinigen... ich hab mein passwort aber schon geändert... is doch zum
und ich wollte gaaaaanz fest dran denken einfach irgendwelche userdaten einzutragen


bloß gut das da eh keine wichtigen daten drin sind

cheers
Daniel
LOAD "Windows XP", 8, 1
---- immerhin ein floppy, und keine Datasette ----
http://www.devloop.de
  Mit Zitat antworten Zitat
Benutzerbild von yankee
yankee

Registriert seit: 10. Mär 2004
1.134 Beiträge
 
Lazarus
 
#8

Re: MySQL fehler beim result abfragen

  Alt 11. Mai 2004, 17:33

Tja, ich habe mich ja schon gewundert...
*gggggggggggggggg*
Letzter Tipp: Drogen. Machen zwar nicht glücklich, geben einem aber wenigstens das Gefühl glücklich zu sein.

Have a lot of fun!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 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