Azure SQL + FireDAC(Delphi XE7) で、日本語文字化け (N プレフィックスは?)
結論
FDQuery1.ParamByName('xxxxNAME').AsWideString :=Edit_xxxxNAME.Text;
で、N を記述しなくでも、OKでした。
SQL Server Management Studio でも、文字化けしたので、??っとなったのですが、
『sql azure 日本語 文字化け』とかで、くぐってみると、SQL Azure での日本語の扱いには N プレフィックスが必要といった内容
で、N をつけてみると。
SQL Server Management Studioで、OK
Delphi で、
SQLstmt:='insert into TEST_TBL '
+' ( '
+'TSNO,TSNAME,TSQTY '
+' ) '
+'values'
+' ('
+'77,N' + QuotedStr('あああ')+',77'
FDQuery1.SQL.Clear; //SQLクリアー
FDQuery1.SQL.Text:= sqlstmt; // 実行する(INSERT)SQLをセット
FDQuery1.Execute();
は、N プレフィックスでOK。
バインド変数にすると、文字化けが出ました。
そこで、Nをと
とやってみましたが、ダメでした。
RAD Studio Osaka FB Groupに投稿とておりましたところ、メンバーの吉原さんより、
吉原 泰介FDQuery1.ParamByName('XXXX').DataType := ftWideString;
FDQuery1.ParamByName('XXXX').AsWideString := 'あああ';
FDQuery1.ParamByName('XXXX').AsWideString := 'あああ';
と、ご教授いただいたので、やってみましたところ、N プレフィックスは不要でOKでした。