Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Aus SQLite Datenbank in FastReport schreiben (https://www.delphipraxis.net/169415-aus-sqlite-datenbank-fastreport-schreiben.html)

Degoeller 18. Jul 2012 15:28

AW: Aus SQLite Datenbank in FastReport schreiben
 
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
slDBpath: string;
sldb: TSQLiteDatabase;
sSQL: String;
ts: TStringStream;
begin

slDBPath := ExtractFilepath(application.exename)+ 'FWRuppertsweiler.db';
sldb := TSQLiteDatabase.Create(slDBPath);

try
sSQL := 'DROP TABLE IF EXISTS RuppertsweilerTable ;';
sldb.execsql(sSQL);

sSQL := 'CREATE TABLE RuppertsweilerTable ([ID] INTEGER PRIMARY KEY, [Straße] VarChar(255) null,';
sSQL := sSQL + '[Ort] VarChar(255) null, [Wann] VarChar(30) null, [Anrufer] VarChar(100),';
sSQL := sSQL + '[Was] Var Char(500) null, [Wieviele] VarChar(3) null, [Art] VarChar(100) null, [NR] VarChar(5) null);';

sldb.execsql(sSQL);

//begin a transaction
sldb.BeginTransaction;

sSQL := 'INSERT INTO Ruppertsweilertable (Anrufer,Wann,Straße,Art,Wieviele,Ort,Was,Nr) VALUES ("'+EdtAnrufer.Text+'",';
sSQL := sSQL + '"'+EdtDatUhr.Text+'","'+EdtStraße.Text+'","'+EdtArt.Text+'","'+EdtAnzahl.Text+'","'+EdtOrt.Text+'",';
sSQL := sSQL + '"'+MemoKurze_Beschreibung.Lines.Text+'","'+EdtNr.Text+'");';
//do the insert
sldb.ExecSQL(sSQL);

//end the transaction
sldb.Commit;


   frxReport1.Preview := frxPreview1;
   frxReport1.PrepareReport();
   frxReport1.ShowPreparedReport;

finally
ts.Free;
end;
end;

Vielleicht hilfst es weiter wenn Ihr den dazugehörigen Quellcode habt?

mkinzler 18. Jul 2012 15:38

AW: Aus SQLite Datenbank in FastReport schreiben
 
Du verwendest nicht VCL Zugriffskomponenten. Du hast nun 3 Möglichkeiten

1) Verwendung von VCL Zugriffskomponenten
2) Kopie in eine MemDataSet
3) Füllen des Reports per API

Degoeller 19. Jul 2012 16:00

AW: Aus SQLite Datenbank in FastReport schreiben
 
Also ich habe jetzt heute noch mehrmals versucht die Datenbank zu mit dem Report zu verbinden muss jedoch gestehn dass es mir wieder nicht gelückt ist kann mir vielleicht jemand mal Schritt für Schritt erklären wie das mit dem FastReport funktioniert ? :(
Habe es jetzt meist mit Unidac Komponenten Versucht also im Report selbst in den Reiter Data und dort eine frxUniDACDatabase auf den Report geschoben. Im DataSource dieser den Filepath der Datenbank angegebn un Connect auf True gesetzt Provider = SQLite.

Wie gesagt ich versuche eigentlich nur von meiner Datenbank jeweils einen Wert in den Report zu schreiben insgesamt sind es 8 Werte die gelesen werden müssen :oops:

An dieser Stelle mal ein großes Danke für die ganzen Antworten !! DANKE :)

PS Bilder Quellcode kann ich bei Bedarf gerne noch nachliefern ;)

mkinzler 19. Jul 2012 16:08

AW: Aus SQLite Datenbank in FastReport schreiben
 
Siehst du die Daten aus der SQLite-Db im TUniQuery/TUniTable?

Degoeller 19. Jul 2012 16:18

AW: Aus SQLite Datenbank in FastReport schreiben
 
Nein sehe diese nicht kann auch im Report kein Query oder table aufs "Blatt" ziehen.

mkinzler 19. Jul 2012 16:31

AW: Aus SQLite Datenbank in FastReport schreiben
 
Es muss mal zuerst der erste Schritt funktionieren, die TUniconnection muss stehen und die Daten im DataSet sein.

Degoeller 20. Jul 2012 09:35

AW: Aus SQLite Datenbank in FastReport schreiben
 
Über die UniConnection bin ich nun auf meine Datenbank gelinkt (grüne Lampe)
Wie bekomm ich jetzt nun die Daten in mein Dataset?

mkinzler 20. Jul 2012 09:37

AW: Aus SQLite Datenbank in FastReport schreiben
 
Entweder eine ganze Tabelle (TUniTable) oder besser als Abfrage (TUniQuery).

Dieses wird dann im TFrxUniDataSet als DataSet ausgewählt.

Degoeller 20. Jul 2012 09:41

AW: Aus SQLite Datenbank in FastReport schreiben
 
ist UNiDataSet eine Komponente für auf das Form ? Denn ich finde bei mir nur die FrxDBDataSet , FRXUserDataSet,ADODataSet und ClienDataSet

mkinzler 20. Jul 2012 09:56

AW: Aus SQLite Datenbank in FastReport schreiben
 
FrxDBDataSet geht auch


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Seite 2 von 3     12 3      

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