Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Problem mit DISQLite3 , ClientDataSet und DBGrid (https://www.delphipraxis.net/162578-problem-mit-disqlite3-clientdataset-und-dbgrid.html)

jmich 30. Aug 2011 09:02

Delphi-Version: 2010

Problem mit DISQLite3 , ClientDataSet und DBGrid
 
Hi Leute,

schlage mich schon seit Stunden mit einen diesen Problem herum und bekomme es nicht auf die Reihe.

Also:
Ich möchte eine SQlite3-Datenbank von einen PDA auf PC laden und mit Delphi
weiter verarbeiten.
Dies klappt sehr gut:
Ich benutze die Komponenten von DiSQlite3 (DISQLite3database, DISQLiteUniDirquery - DataSetProvider, DataSource,ClientDataSet, DBGrid und sqlite3.dll).
Mein Problem ist die Anzeige im DBGrid-Anzeige oder ClientdatSet.
z.B.
Ein Datensatz hat drei Felder/Spalte :
Bildname Char(25)---- Speicherort Char(350) -------- Beschreibung Char(35)
test.jpg --------- \Programme\BTGPlus\CE\Btgdaten ---Dies ist ein Test

Wenn jetzt die SQlite übernommen wird, fehlen in der DBGrid Zeichen bzw. Text.

z.B test.jpg
\Programm\BTGPlus .. Rest fehlt
Dies ist ein.. Rest fehlt

Bei der Übernahme z.B. ins ein DBEdit fehlen diese auch.

Wenn ich das ganze mit einen Stringrid (ohne ClientDataSet) mache, werden die Daten ordentlich übernommen und angezeigt.

Leider brauche ich eine Lösung mit DBGrid und Clientdatset.
Was läuft falsch oder liegt es an der ClientDataSet?

Wer kann helfen ?

Gruß Jmich

ensaron 30. Aug 2011 11:35

AW: Problem mit DISQLite3 , ClientDataSet und DBGrid
 
Hallo :)

Schau dir mal die Feldgrößen der Felder deines ClientDataSets an.
Hatte den Fehler auch schonmal, da lag es daran, dass die Feldgrößen nicht richtig eingestellt waren.

Gruß
Thomas

jmich 1. Sep 2011 14:02

AW: Problem mit DISQLite3 , ClientDataSet und DBGrid
 
Hi Thomas

die Feldgrößen werden so eingelesen:

Code:
procedure Tpcpocket.db_ladenbesuch;
 var
 i2 : integer;
begin
    DISQLite3UniDirQuery2.SelectSQL := 'SELECT * FROM btgbesuch';
    ClientDataSet2.Open;
    DISQLite3UniDirQuery2.Open;
  try
    for i2 := 0 to DISQLite3UniDirQuery2.Fields.Count - 1 do
      ClientDataSet2.Fields[i2].ProviderFlags :=
        DISQLite3UniDirQuery2.Fields[i2].ProviderFlags;
  finally
    DISQLite3UniDirQuery2.Close;
  end;
end;

Wie kann man da die Feldgröße der Felder bei der ClientDataset1 verändern?
Oder woran könnte noch liegen?


Gruß

Jmich


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