AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLite und datensensitive Komponenten?
Thema durchsuchen
Ansicht
Themen-Optionen

SQLite und datensensitive Komponenten?

Ein Thema von Sven M. · begonnen am 23. Okt 2013 · letzter Beitrag vom 25. Okt 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 09:05
Wenn du eine TDatasource aufs Formular nimmst und dort das Dataset zuweist, kannst du in jeder DB-Komponente (z.B. TDBEdit, TDBGrid, TDBText, etc.) diese Datasource verwenden.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 09:11
Wenn ich das richtig überblicke, ist TSQLiteTable nicht von TDataset abgeleitet, da wird das nichts mit mal eben zuweisen. Hier könnte man dann auf eine der zahlreich verfügbaren TMemoryTable-Implementationen zurückgreifen oder selbst ein TClientDataset definieren. In beiden Fällen müssten die Datasets dann zur Laufzeit aus der TSQLiteTable mit Daten bestückt werden, dann kann man auch RAD-like die üblichen Zuweisungen vornehmen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 09:17
Wenn ich das richtig überblicke, ist TSQLiteTable nicht von TDataset abgeleitet, da wird das nichts mit mal eben zuweisen. Hier könnte man dann auf eine der zahlreich verfügbaren TMemoryTable-Implementationen zurückgreifen oder selbst ein TClientDataset definieren. In beiden Fällen müssten die Datasets dann zur Laufzeit aus der TSQLiteTable mit Daten bestückt werden, dann kann man auch RAD-like die üblichen Zuweisungen vornehmen.
Ach du Schreck, damit habe ich nun echt nicht gerechnet. Würde mich persönlich extrem davon abhalten das Ding zu benutzen. Wie wäre es stattdessen mit ZEOS?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#4

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 09:52
@DeddyH: Ob ich die Daten aus der Tabelle abfrage und in die Series schreibe oder erst in ein TClientDataset, das ich dann der Series zuweise, macht im Endeffekt aber keinen Unterschied, oder? Wäre doch eher noch umständlicher?!

Ich werf' mal einen Blick auf die Zeos-Bibliotheken. Danke!
  Mit Zitat antworten Zitat
baeckerg

Registriert seit: 20. Apr 2004
Ort: BW
11 Beiträge
 
Delphi XE4 Professional
 
#5

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 10:07
Wenn Du XE5 verwendest kannst Du FireDAC verwenden
Gernot
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#6

AW: SQLite und datensensitive Komponenten?

  Alt 23. Okt 2013, 10:10
XE 5? Davon kann ich nur träumen. Die Angabe da unter meinem Benutzernamen ist tatsächlich aktuell.
  Mit Zitat antworten Zitat
TraumTaenzerDieter

Registriert seit: 4. Jun 2009
Ort: 33330 Gütersloh
8 Beiträge
 
FreePascal / Lazarus
 
#7

AW: SQLite und datensensitive Komponenten?

  Alt 24. Okt 2013, 07:28
Oder du nimmst die Komponenten von dieser Seite
http://www.filedepot.eu/sivak3/index.htm
die auch einen TDataSet enthalten.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#8

AW: SQLite und datensensitive Komponenten?

  Alt 24. Okt 2013, 07:44
@DeddyH: Ob ich die Daten aus der Tabelle abfrage und in die Series schreibe oder erst in ein TClientDataset, das ich dann der Series zuweise, macht im Endeffekt aber keinen Unterschied, oder? Wäre doch eher noch umständlicher?!
Ich werf' mal einen Blick auf die Zeos-Bibliotheken. Danke!
Den Ausdruck "in die Series schreiben" vestehe ich nicht. Was meinst du damit?

Ich habe letzte Woche an einer Minimalverschlüsselung für eine Projekterweiterung gearbeitet: Weil Firebird 2.5 noch keine Verschlüsselung kennt (soll ja angeblich mit V3.0 kommen), bin ich zur lokalen Bearbeitung der verschlüsselten Tabelle auf ein Clientdataset ausgewichen. Nach einigen Anlaufschwierigkeiten funktioniert das ebenso gut wie irgend ein DBDataset oder eine Query-Komponente. Man darf nur nicht vergessen, beim Start die Daten zu laden und vor Programmende wieder zu speichern. Das Programm PasswortTresor,* quasi ein Abfallprodukt meiner Auftragsarbeit, verwendet diesse Methode. Für SQLite muß man das natürlich anders machen, aber da kennen sich andere besser aus als ich.
Delphi-Quellcode:
// ********** CLIENT-DATASET LADEN *****************
Procedure TDatMod.ClientSet_Laden;
begin
  ClientSet_Zugang.Active := False;
  Qset_Zugang.Open;
  ClientSet_Zugang.ProviderName := 'Prov_Zugang';
  ClientSet_Zugang.Open;
  ClientSetKodieren(1);
  Dsrc_Zugang.Enabled := True;
  Qset_Zugang.Close;
  ClientSet_Zugang.ProviderName := '';
end;

// ********** CLIENT-DATASET SPEICHERN *************
Procedure TDatMod.ClientSet_Speichern;
Var
  Idx : Integer;
begin
  Dsrc_Zugang.Enabled := False;
  ClientSetKodieren(0);
  Qset_Zugang.Open;

  ClientSet_Zugang.First;
  WHILE NOT ClientSet_Zugang.Eof DO
  BEGIN
    Idx := ClientSet_Zugang.FieldByName('IDX_ZUGANG').AsInteger;
    IF NOT ClientSetToQuery(Idx) THEN ShowMessage('Fehler beim Speichern des ClientSets: ' + IntToStr(Idx));
    ClientSet_Zugang.Next;
  END;
  Qset_Zugang.Close;
end;
* (Freeware, Benutzer: Admin, Passwort: a1)
  Mit Zitat antworten Zitat
Sven M.

Registriert seit: 21. Okt 2006
Ort: Halle/Saale
106 Beiträge
 
Delphi 5 Enterprise
 
#9

AW: SQLite und datensensitive Komponenten?

  Alt 24. Okt 2013, 14:03
@TraumtänzerDieter: Das schau' ich mir mal näher an. Besten Dank.

@Furtbichler.
Zeos habe ich auch schon probiert, sollte zumindest theoretisch ja auch mit SQLite funktionieren. Allerdings habe ich das Problem, dass ich in allen heruntergeladenen Archiven nicht ein Package finde, mit dem ich die Komponenten installieren kann. Ich gebe zu: Ich fühle mich deswegen momentan ziemlich minderbemittelt. Denn alle Tutorials, die ich finden konnte, gehen genau davon aus.

@Perlsau:
Hm, doof umschrieben, zugegeben. "TLineSeries mit Werten befüllen" sollte klarer ausdrücken, was ich machen will.
Deine vorgeschlagene Alternative mit den CleintDataSets kommt für mich leider nicht in Frage. Von denen will ich ja gerade weg. Denn da nervt mich, dass jedes Mal die gesamte Datenmenge weggeschrieben wird. Das ist f+r meine Ansprüche einfach nicht pratikabel.

Im Prinzip brauche ich eine simple lokale Datenbank, die es mir ermöglicht, unter Delphi 5 mehrere Tabellen (max. 7-8) mit jeweils ~500.000 Datensätzen abzuspeichern. Schön wäre außerdem eine Anbindung an datensensitive Komponenten (TLineSeries in DBChart) sowie möglichst wenig DB-Gedöns, das ich dem User abseits der Exe noch mitgeben muss. Da dachte ich nun mit der im Startpost erwähnten Komponente die Lösung gefunden zu haben (benötigt nur die dll), allerdings fehlt mir da die Möglichkeit, die Daten direkt in DB-Komponenten anzeigen zu lassen.




+++edit+++
Die von TraumtänzerDieter vorgeschlagenene Komponente funktioniert nicht unter Delphi 5. Nach dem Löschen der vom Compiler nicht erkannten Module vcl, rtl, dbrtl sowie unbekannten Compilerdirektiven (Warn, Align 8), stockt der Compiler bei der Zeile
DefaultFormatSettings: TFormatSettings; TFormatSettings ist ihm nicht bekannt.

Geändert von Sven M. (24. Okt 2013 um 14:52 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#10

AW: SQLite und datensensitive Komponenten?

  Alt 24. Okt 2013, 16:43
@Perlsau:
Hm, doof umschrieben, zugegeben. "TLineSeries mit Werten befüllen" sollte klarer ausdrücken, was ich machen will.
Deine vorgeschlagene Alternative mit den CleintDataSets kommt für mich leider nicht in Frage. Von denen will ich ja gerade weg. Denn da nervt mich, dass jedes Mal die gesamte Datenmenge weggeschrieben wird. Das ist f+r meine Ansprüche einfach nicht pratikabel.
ClientDataSets laden und speichern sich nicht von alleine. Du kannst eine Tabelle mit einem ClientDataSet so lange bearbeiten, wie du willst. Bevor das Programm beendet wird, schreibst du den Inhalt zurück, entweder in die Datenbank oder auf die Festplatte oder sonstwohin. Dafür hatte ich mir im PasswortTresor die beiden Methoden geschrieben. Von daher verstehe ich dein Problem mit ClientDataSets nicht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 04:58 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