2013年10月23日

PostgreSQL FDQuery 文字 数値

FireDAC + PostgreSQL8.4(UTF8)
FireDAC + PostgreSQL9.2(UTF8) の FDQueryでの文字の扱い

PostgreSQL8.4 は AsWideString の記述が必要
FDQuery1.ParamByName('xxx').AsWideString := '漢字';

Firebird MySQL Oracle ではAsStringのパラメータでも、OK
------------------------------------------------------------------------

FDTableの場合は、AsStringのパラメータでも、OK
FDTable1.FieldByName('xxx').AsString
------------------------------------------------------------------------

数値 DECIMAL/NUMERIC に関して

INSERT SELECT UPDATE DELETE をテスト

sqlstmt:='CREATE TABLE TEST_TBL '+
'('+
'TSNO INTEGER not null,'+
'TSNAME VARChar(30) ,'+
'TSQTY DECIMAL(14,2) Default 0 ,'+
'primary key(TSNO)'+
')';

---------------------------------------------------------------------------------


FDQueryでは、Insert / Update で DECIMALを xx.AsCurrencyで代入しようとすると、エラーになります

8.4の FireDAC Monitorのログ
ERROR: 列"tsqty"は型numericですが、式は0).#0f=""] [Status=7]

9.2の FireDAC Monitorのログ
Var [N=2, Name="TSQTY", Type=money, Size=0, Data(0)=111.11]
---------------------------------------------------------------------------------


FDTableとdbExpress Over ODBCでは、正しく動作しました。
---------------------------------------------------------------------------------

dbExpress Over ODBCでは、DBGRIDを動作させることがも、できませんでした。

テスト環境は ローカル CentOS6.4 32bit と KAGOYA PostgreSQLプランというレンタルサーバーのプランとの2つの環境で、テストしても同様でした。
posted by a23 at 18:40| Comment(0) | FireDAC
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。