Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Auf erzeuge Daten wieder drauf zugreifen ? (https://www.delphipraxis.net/96767-auf-erzeuge-daten-wieder-drauf-zugreifen.html)

mimi 30. Jul 2007 19:15

Datenbank: SQLite • Version: 3 • Zugriff über: Direkt

Auf erzeuge Daten wieder drauf zugreifen ?
 
Hallo,
seit tagen versuche ich werte aus meiner Datenbank zu lesen.

Ich denke mal das geht genau so wie in Delphi, nur ich verstehe es einfach nicht.
Ich hatte bis jetzt immer nur die PE Versionen von Delphi und da ist keine DB dabei.

Mein Ziel ist es folgendes zu erreichen:
1) Tabelle Erstellen, klappt schonmal(denke ich mal)
2) Daten sätze zur der Tabelle erzeugen
3) auf die Daten drauf zugreifen.

hier sind die einzelne Code Ausschnitte:
Hier erzeuge ich eine neue Tabelle und füge drei Datensätze ein:
Eintrag1a, Eintrag2a, Eintrag3a
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Sqlite3Dataset1.SQL:='create table Pluto (Eintrag1 INTEGER PRIMARY KEY,data TEXT,num double,timeEnter DATE)';
  Sqlite3Dataset1.ExecSQL;

  Sqlite3Dataset1.SQL:='insert into Pluto (data,num) values (''Eintrag1A'',3);';
  Sqlite3Dataset1.ExecSQL;

  Sqlite3Dataset1.SQL:='insert into Pluto (data,num) values (''Eintrag2A'',4);';
  Sqlite3Dataset1.ExecSQL;
  Sqlite3Dataset1.SaveOnClose:=True;

  Sqlite3Dataset1.SQL:='insert into Pluto (data,num) values (''Eintrag3A'',3);';
end;
hier möchte ich sie wieder auslesen.
Da ich unter Lazarus bin, habe ich ein Pratkisches Ausgabe Fenster was ich mit Writeln benutzen kann:
Hier wird jetzt eine Anfrage auf die Tabelle Pluto gemacht.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Sqlite3Dataset1.SQL:='Select * from Pluto;';
  sqlite3Dataset1.Open;
end;
Aber wie komme ich jetzt an die erzeuge Daten wieder ran ?
ich habe die ereignisse angeschaut und habe es so versucht:
Delphi-Quellcode:
procedure TForm1.Sqlite3Dataset1AfterOpen(DataSet: TDataSet);
var
  str:string;
//  s:TStringlist;
begin

//  if not VarIsStr(dataset.FieldValues['data']) then
  //  Writeln('OK');
   
  //writeln(str);

//  s:=TSTringlist.Create;
//  dataset.
  dataset.fieldv;
  str:=dataset.FieldByName('data').AsString;
  writeln(str);

//   writeln(DataSet.FieldValues['data']);
end;
Da Lazarus Delphi 7 ähnliche sein soll, hoffe ich das, der bereich Daten Banken genau so geht wie in Delphi.

Ich komme einfach nicht mehr weiter. Die suche bringt mir nix genaues, da ich nicht weiß nach was ich suchen müsste.

Ich möchte die Daten erstmal ausgeben lassen mit ShowMessage oder Writeln. um sie später in einer VST anzuzeigen(das ist auch kein Problem, wenn ich die Daten erstmal habe).

mimi 31. Jul 2007 09:04

Re: Auf erzeuge Daten wieder drauf zugreifen ?
 
ich bin soweit gekommen das ich:
A) über RecordCount die der Datenstäzte in der Tabelle lesen kann
B) den Ersten Eintrag anzeigen kann.

Allerdings sobald ich(wie es hier sehr oft der Fall ist) First oder Last verwende stürzt das Programm komplett ab.
(ich vermute in einer Endlosschleife).

Entweder ist es mein Fehler, oder ein Bug.


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