AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Suche unicodefähige SQLite-Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Suche unicodefähige SQLite-Komponente

Ein Thema von Andreas L. · begonnen am 30. Dez 2009 · letzter Beitrag vom 2. Jan 2010
Antwort Antwort
Seite 1 von 2  1 2      
Andreas L.
(Gast)

n/a Beiträge
 
#1

Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 13:54
Datenbank: SQLite • Version: 3 • Zugriff über: TSQLiteDatabase
Hi,

bisher habe ich immer TSQLiteDatabase von Tim Anderson ( http://www.itwriting.com/blog/a-simp...r-for-sqlite-3 ) verwendet. Leider unterstützt die Komponente kein Unicode, bei einem arabischen String اللغة العربية erhalte ich nur sowas اللغة العربية. Kennt jemand eine Möglichkeit TSQLiteDatabase (bzw. TSQLiteTable3) unicodefähig zu machen oder gibt es gute Alternativen? Wichtig wäre mir das die Komponente auch für die kommerzielle Programme verwendet werden darf, nicht zu teuer ist (gratis wäre noch besser ) und auch ohne Installation verwendet werden kann (d. h. Units in den Suchpfad und los gehts...). Ich verwende Delphi 2009 Pro.
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 13:57
Hier z.B. SQLitePass

Guten Rutsch!
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#3

Re: Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 14:23
Zitat von webcss:
Hier z.B. SQLitePass
Wow, macht schon mal einen guten Eindruck. Was mich etwas irritiert ist, das ich nirgendwo eine Tabelle angeben kann/muss. Es ist immer nur von Datasets die Rede. Ein Dataset müsste ja eigentlich ein record einer Tabelle sein. Ich habs trotzdem mal probiert einen Dataset mit den Tabellennamen anzusprechen, wie zu erwarten war, gehts das leider nicht. Kannst du mir noch einen kleinen Stoß in die richtige Richtung geben? Mein Code:

Delphi-Quellcode:
procedure TCsLanguageManager.LoadLanguages(AFileName: string);
var
  DB: TSqlitePassDatabase;
  Table: TSqlitePassDataset;
  NewLanguage: TCsLanguage;
begin
  DB := TSqlitePassDatabase.Create(nil);
  try
    DB.Database := AFileName;
    DB.Open;
    Table := DB.Datasets.DatasetByName('languages'); //languages ist der Tabellenname, hier erhalte ich eine Exception: Dataset nicht gefunden
    if Table <> nil then
    begin
      FLanguages.Clear; //FLanguages ist eine TObjectList
      while not Table.Eof do
      begin
        NewLanguage := TCsLanguage.Create;
        with NewLanguage do
        begin
          Name := Table.FieldByName('name').AsString;
          IntName := Table.FieldByName('int_name').AsString;
          ISOCode := Table.FieldByName('iso_code').AsString;
          Author := Table.FieldByName('author').AsString;
          ImageIndex := StrToIntDef(Table.FieldByName('flag_index').AsString, -1);
          BidiMode := TBidiMode(StrToIntDef(Table.FieldByName('bidimode').AsString, 0));
        end;
        FLanguages.Add(NewLanguage);
        Table.Next;
      end;
    end;
    DB.Close;
  finally
    DB.Free;
  end;
end;
Zitat von webcss:
Guten Rutsch!
Dir auch
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 14:27
Hallo,

Dataset = set of data = Query/Table

nicht mit Record oder Tupel zu verwechseln (eine "Zeile" eines DataSets")

Du machst es schon richtig.
Wie sieht es mit Groß-/Kleinschreibung aus ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#5

Re: Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 14:33
Zitat von hoika:
Hallo,

Dataset = set of data = Query/Table

nicht mit Record oder Tupel zu verwechseln (eine "Zeile" eines DataSets")

Du machst es schon richtig.
Gut zu wissen

Zitat von hoika:
Wie sieht es mit Groß-/Kleinschreibung aus ?
Sowohl Tabellenname als auch Spaltennamen sind komplett in Kleinbuchstaben. Rechtschreibfehler ist im Code auch keiner. Was könnte noch die Ursache für die Exception sein? Soll ich die DB mal anhängen?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Suche unicodefähige SQLite-Komponente

  Alt 30. Dez 2009, 18:23
Halo,

hast du die ToolBox mal ausprobiert?

1


Heiko
Heiko
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#7

Re: Suche unicodefähige SQLite-Komponente

  Alt 31. Dez 2009, 09:48
Die Toolbox zeigt mir nur die Integerfelder an (Screenshot 1), bei "Field Definitions" werden mir aber alle Felder angezeigt (Screenshot 2). Die Datenbank habe ich mit SQLite Database browser erstellt (Screenshot 3 und 4). In der Toolbox kann ich beim erstellen einer neuen Datenbank mehrere Varianten (Kind) auswählen, dachte SQLite wäre standardisiert aber anscheinend kocht da wieder mal jeder sein eigenes Süppchen. Meine Datenbank mit der Toolbox erstellen geht auch nicht, weil ich beim Klick auf "Create new table" die Meldung

Zitat:
---------------------------
SqliteToolbox
---------------------------
Erreur abstraite.
---------------------------
OK
---------------------------
erhalte.

Anbei die Datenbank. Hat noch jemand eine Idee warum ich die DB nicht verwenden kann?
Miniaturansicht angehängter Grafiken
sqlitebrowser_struktur_137.png   sqlitebrowser_languages_817.png   sqlitetoolbox_struktur_161.png   sqlitetoolbox_dataset_201.png  
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#8

Re: Suche unicodefähige SQLite-Komponente

  Alt 31. Dez 2009, 09:49
Hier noch die DB.

EDIT: Und noch die Fehlermeldung die bei DataSetByName auftritt:
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Test.exe ist eine Exception der Klasse Exception mit der Meldung 'TSqlitePassDatasets.DatasetByName : Dataset languages not found.' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
EDIT2:
Delphi-Quellcode:
    ShowMessage(IntToStr(DB.Datasets.Count)); //ergibt 0
    Table := DB.Datasets.FindDataset('languages'); //Rückgabe ist nil
EDIT3:
Delphi-Quellcode:
    if DB.Connected then
      ShowMessage('OK'); //Meldung wird angezeigt
Bin ratlos...

EDIT4: Hab es jetzt noch mit anderen Datenbanken versucht. U. a. die Cookies.sqlite von Firefox und Chrome, selber Fehler. SQLite Datebase Browser öffnet die Dateien problemlos. Gibts noch andere SQLite Komponenten?
Angehängte Dateien
Dateityp: txt languages_192.txt (7,0 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Suche unicodefähige SQLite-Komponente

  Alt 31. Dez 2009, 12:31
Ja, die hier disqlite

hab ich aber auch noch nicht probiert, kostenpflichtig. Der explorer vom selben Entwickler macht aber unicode, mit seinen kompos
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
Andreas L.
(Gast)

n/a Beiträge
 
#10

Re: Suche unicodefähige SQLite-Komponente

  Alt 31. Dez 2009, 12:47
Zitat von webcss:
Ja, die hier disqlite

hab ich aber auch noch nicht probiert, kostenpflichtig. Der explorer vom selben Entwickler macht aber unicode, mit seinen kompos
149 € ist schon ein bisschen viel. Gibts noch Alternativen?
  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 21:18 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