Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi wie kann man unicode aus der DB auslesen? (https://www.delphipraxis.net/74258-wie-kann-man-unicode-aus-der-db-auslesen.html)

polondo 31. Jul 2006 13:44


wie kann man unicode aus der DB auslesen?
 
hallo,

ich möchte gerne in meinem Programm Unicode-Daten aus einer Datenbank auslesen. Der sql query Assistent zeigt mir diesen Inhalt korrekt an, jedoch bekomme ich im Delphi lauter "?" wenn ich diesen aus der Db auslese und in eine Combobox schreiben möchte. Ich habe schon versucht Funktionen wie AnsiToUTF8 oder UTF8Decode/Encode einzusetzen, bekomme aber wieder nur lauter "?". Auch habe ich vergebens versucht die Daten nach dem Auslesen zuerst in einen Widestring zu kopieren und dann erst in die Combobox zu schreiben.

Hat jemand eine Idee wie man vorgehen müsste?

btw. als comboboxkomponente benutze ich die Unicode-Controls von TNT. Also kann es schonmal nicht an der Unicode Tauglichkeit der Combobox liegen. Ich müsste die Daten nur als Unicode auslesen ... nur wie?

mfg R.

Bernhard Geyer 31. Jul 2006 13:55

Re: wie kann man unicode aus der DB auslesen?
 
Bei mir geht es :-)

Da du aber nicht verrätst welche Datenbank und welchen Zugriffsweg du verwendest verrate ich dir auch nicht welchen Fehler du machst :???:

polondo 31. Jul 2006 14:00

Re: wie kann man unicode aus der DB auslesen?
 
ok einverstanden ;O)

also so siehts bei mir aus wenn ich die Daten aus der Db in die Combobox schmeissen möchte

Delphi-Quellcode:
procedure TDM.SqlInvoiceInvoiceTypeExecute(Sender: TObject);
var
r,c :integer;
begin
ADOQuery.SQL.Clear;

  WITH ADOQuery.SQL DO Begin
  ADD('SELECT description from InvoiceType');
  end;
  ADOQuery.Open;
  //reads the complete dataset into the combobox
  ADOQuery.First;
    for r:= 1 to ADOQuery.RecordCount do
    begin
      for c := 0 to ADOQuery.FieldCount -1 do
      InvoiceForm.CmBxInvoiceType.Items.Add(ADOQuery.Fields[c].Text);
      ADOQuery.Next;
    end;
  end;

Bernhard Geyer 31. Jul 2006 14:01

Re: wie kann man unicode aus der DB auslesen?
 
1, Nimm lieber TADODataset statt TADOTable/TADOQuery

2, Das Text-Property ist nur vom Typ String. Bei ADOExpress mußt du mit AsVariant arbeiten.

polondo 31. Jul 2006 14:09

Re: wie kann man unicode aus der DB auslesen?
 
Wow dank dir für die schnelle Hilfe hat super funktioniert!! Müsste ich auch selber drauf kommen so das Problem zu lösen, zumal ich das AsVariant schonmal in meinen Programm benutzt habe.


mfg R.

sh17 31. Jul 2006 14:59

Re: wie kann man unicode aus der DB auslesen?
 
Zitat:

Zitat von polondo
Müsste ich auch selber drauf kommen so das Problem zu lösen, zumal ich das AsVariant schonmal in meinen Programm benutzt habe.

Was fragst Du dann? :)


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