2009-10-15 16 views
2

我正面臨着在數據集中捕獲漢字的問題。如何使用數據庫中的中文字符?

德爾福2010年我已經嘗試了兩種類型的組件:

  1. 德爾福默認
  2. 開發Express組件

至於結果,那些不鏈接到數據源部件工作正常,但這些組件做的鏈接到數據源有問題。除TDBMemo外,中文字符已被轉換爲問號。看到下面的圖片。

數據集是一個客戶數據集有兩個字段:

  1. 名稱 - 字符串
  2. 描述 - 備註

我應該怎麼操作才能得到它的工作?

Reference Image http://img97.imageshack.us/img97/9445/d2010unicodetestsimplif.gif

type 
TForm1 = class(TForm) 
ClientDataSet1: TClientDataSet; 
ClientDataSet1Name: TStringField; 
ClientDataSet1Description: TMemoField; 
DataSource1: TDataSource; 
ClientDataSet2: TClientDataSet; 
ClientDataSet2Name: TStringField; 
ClientDataSet2Description: TMemoField; 
DataSource2: TDataSource; 
+0

您是使用ClientDataset獨立還是通過DatasetProvider檢索ClientDataset的數據?在第二種情況下,知道提供者檢索數據的位置是有意義的。也許這是一個數據庫問題? – 2009-10-15 10:34:27

+0

它是獨立的ClientDataset,但尚未鏈接到Databse。 – James 2009-10-16 04:43:14

回答

0

1)使用的ClientDataSet獨立沒有任何數據提供進出口。

2)我們期待TEdit和TDBEdit的結果應該相同。 D2010是不是一個本地Unicode?

它僅僅是一個簡單的獨立的ClientDataSet如下:


TForm1類=類(TForm的)

ClientDataSet1:的TClientdataSet;

ClientDataSet1Name:TStringField;

ClientDataSet1Description:TMemoField;

DataSource1:TDataSource;

ClientDataSet2:TClientDataSet;

ClientDataSet2Name:TStringField;

ClientDataSet2Description:TMemoField;

DataSource2:TDataSource;

+0

James,使用添加評論功能來回答問題,或編輯您的原創以添加更多信息。不要回答一個新的答案,因爲它回答了你自己的問題。 – mj2008 2009-10-16 09:11:49

2

在德爾福2010年,TStringFieldTMemoField's價值屬性的類型AnsiString。這就是中文字符在數據感知控件中不顯示的原因。

相反,您應該聲明字段類型爲ftWideStringftWideMemo分別創建TWideStringFieldTWideMemoField

+0

非常感謝你,我會試試這個 – James 2009-10-19 03:38:10

相關問題