Delphi-PRAXiS

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 13:15

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

Aus SQLite Datenbank in FastReport schreiben
 
Hallo ich habe ein paar Strings in meine Datenbank geschriben jetzt versuche ich schon eine ganze Weile diese Wert auf mein FastReport zu bringen. (FastReport4)

Schonmal im Voraus Danke :)

Bummi 18. Jul 2012 13:38

AW: Aus SQLite Datenbank in FastReport schreiben
 
Neben Dein Dataset ein frDBDataset legen, dort das Dataset zuweisen, eine frxReportKomponente dazulegen, Store in DFM abschalten, Doppelklick darauf, im Menü Report/Daten das frDBDataset auswählen ...

Degoeller 18. Jul 2012 14:15

AW: Aus SQLite Datenbank in FastReport schreiben
 
Also muss ich jetzt auf meiner Form ein TADODataSet platzieren daneben ein TfrxDataset und diesem das erste als Dataset zuweisen. Danach meiner FrxReportKomponente wiederum auf das TfrxDataset. (in FRXReport StoreinDFM auf false) und den letzten Abshcnitt versteh ich nicht :(

mkinzler 18. Jul 2012 14:27

AW: Aus SQLite Datenbank in FastReport schreiben
 
Liste der Anhänge anzeigen (Anzahl: 2)
Wenn du ADO verwendest ja. Im ReportDesigner musst du die zu verwendene Datenquellen auswählen

Degoeller 18. Jul 2012 14:44

AW: Aus SQLite Datenbank in FastReport schreiben
 
Ich glaube ich habe mich generell etwas unglücklich ausgedrückt ich verusch es jetzt nocheinmal zu erklären was mein Problem ist :P

Ich habe auf der einen Seite meine SQLite Datenbank und auf der anderen Seite mein FastReport 4.10.1 (frxReport) In diesem Report habe ich leere MemoFelder 1-8 eingebettet welche ich nun mit Daten aus meiner Datenbank füllen möchte.

Auf meiner Form habe ich ledeglich die frxReport Komponente
Im Report hab ich nur die Memos.

Danke :)

mkinzler 18. Jul 2012 15:06

AW: Aus SQLite Datenbank in FastReport schreiben
 
Und der Report zeigt in den Memos die Werte der verknüpften DataSets an.
Wie greifst du auf SQLite zu?

Degoeller 18. Jul 2012 15:11

AW: Aus SQLite Datenbank in FastReport schreiben
 
Nein das ist ja mein Problem . Wie ich zugreife weiß ich selbst nicht genau hab da irgendwas eingestellt wäre vielleihct ganz gut wenn cih wüsste wie ich es vielleicht besser machne kann ;)

mkinzler 18. Jul 2012 15:20

AW: Aus SQLite Datenbank in FastReport schreiben
 
Du brauchst ja irgendwelche Zugriffskomponenten für SQLite

Degoeller 18. Jul 2012 15:24

AW: Aus SQLite Datenbank in FastReport schreiben
 
ist das die frxUserDataSet?
Wenn nicht welche wäre das dann?

Ich glaub solangsam kommen wir dem Problem auf den Grund :P

mkinzler 18. Jul 2012 15:26

AW: Aus SQLite Datenbank in FastReport schreiben
 
Nein, diese musst du mit dem DataSet verbinden, welches die daten von SQLite enthält

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

Sir Rufo 20. Jul 2012 13:19

AW: Aus SQLite Datenbank in FastReport schreiben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal im Anhang eine kleine Demo zu FastReport und SQlite mit UniDAC.

Allerdings wäre es auch möglich mit
Delphi-Quellcode:
TfrxUserDataSet
auf die Daten zuzugreifen.
Als Beispiel dafür gibt der Report eine Dateiliste aus.

Im Anhang befinden sich die Sourcen und eine exe.
Zum Ausprobieren der exe am besten das gesamte ZIP entpacken und dann starten, sonst findet der die db nicht :)

BTW: Mit Delphi XE2 erstellt


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