AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi MySQL ohne Komponenten
Tutorial durchsuchen
Ansicht
Themen-Optionen

MySQL ohne Komponenten

Ein Tutorial von Chewie · begonnen am 14. Jul 2003 · letzter Beitrag vom 30. Mär 2020
 
Manta12

Registriert seit: 17. Feb 2010
3 Beiträge
 
#18

Re: MySQL ohne Komponenten

  Alt 17. Feb 2010, 21:51
Hallo!
Irgendwie komm ich mit dem Abrufen nicht so ganz klar. Datenbank erstellt, Tabeller erstellt und Werte sind auch drin. Das seh ich mit MySQL-Front.
Ich möchte jetzt die Daten -->komplett aus der Database auslesen in einen Record als Array übergeben und anschließend im stringgrid ausgeben.
Aber ich bekomme entweder nur den Fehler "Acces violation" oder gar keinen Wert! Hier mal mein Verusch:
Meine Tabelle besteht aus: Kartei(sowas wie id), Titel, Autor, ISBN
Delphi-Quellcode:
var

  Posts: TPostEntries;
  idAuthor: String; //zum Zwischenspeichern der Verfasser-ID
  query: PChar;
  _myRes: PMySQL_Res; //hier wird der gesamte Ergebnissatz gespeichert
  _mySubRes: PMySQL_Res; //benötigt, um Autor zu ermmitteln
  _myRow: PMySQL_Row; //enthält den aktuellen Datensatz
  _mySubRow: PMySQL_Row; //benötigt, um Autor zu ermmitteln
  i,xx: Integer;

begin

   mysql_select_db(_myCon, 'APITest'); //APItest heißt meine Datenbank
   query := 'SELECT * FROM buch'; //hier habe ich doch den kompletten Datensatz ausgewählt!, oder?
   mysql_real_query(_myCon, query, Length(query));

  _myRes := mysql_store_result(_myCon); //Ergebnismenge anfordern
  if _myRes = nil then
  begin
    ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon));
    Exit;
  end;

  SetLength(Posts, mysql_num_rows(_myRes)); //Posts-Array-Größe auf Anzahl der Datensätze setzen

  for i := 0 to High(Posts) do
  begin
    _myRow := mysql_fetch_row(_myRes); //Datensatz abholen (nächste Zeile)
    Posts[i].id := StrToInt(_myRow[0]); //Kartei wird id
    Posts[i].time := _myRow[2]; //Titel wird time ---> time, text, author sind vom typ string
    Posts[i].text := _myRow[3]; //ISBN wird text
    Posts[i].author := _myRow[1]; //Autor wird Author
    
    stringgridcells1[0,i]:=StrToInt(Posts[i].id); //mein Feld bleibt leider leer --> warum?

    mysql_free_result(_mySubRes); //Ergebnissatz löschen
  end;

  mysql_free_result(_myRes); //Ergebnissätze löschen
end;
Ich hoffe ihr habt einen Ansatz für mich. mfg
  Mit Zitat antworten Zitat
 


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 09:59 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