2017-04-26 7 views
0

を変更ツールを開発TTB。INSERT INTO(X)VALUES(AAA = 111 & BBB = 222 & CCC = 333) ;FireDACでpgsqlの中への挿入データの後に、データ情報は、

挿入する前に: AAA = 111 & BBB = 222 & CCC = 333

しかしFireDACと挿入した後、文字列は次のようになる。 AAA = 111 = 222 = 333

言われることFireDACの使用中に「& bbb」と「& ccc」の文字が削除されました。

あなたは私にそれを修正する方法を教えてくださいありがとう!

+1

その文を呼び出すために使用するコードを共有できますか(それらの文字列をどのように扱うかを確認するには)? –

+0

FDQuery1.SQL.Clear; FDQuery1.SQL.Add( 'INSERT INTO ttb VALUES(' + QuotedStr( 'aaa = 111&bbb = 222&ccc = 333')+ ');');; FDQuery1.ExecSQL; FDQuery1.Close; – shuaixf

答えて

2

Online documentation)、 のような問題を避けるために、常にクエリでパラメータを使用する方が良いです。 あなたのケースでは、コードは次のようになります。ドキュメントに記載の利点に加えて、

FDQuery1.SQL.Text:='insert into ttb (x) values(:TestData)'; 
FDQuery1.Params.ParamByName('TestData').AsString:='aaa=111&bbb=222&ccc=333'; 
FDQuery1.ExecSQL; 

、あなたはSQLインジェクションとパラメータを使用していない場合は、データベースに起こるかもしれない他のさまざまな「厄介」なものから安全だろう。

関連する問題