簡體   English   中英

使用FireDAC將數據插入pgsql后,數據信息已更改

[英]After insert data into pgsql With FireDAC, the data info changed

開發工具:Delphi 10.1 Berlin

在Delphi中使用FireDAC:插入ttb(x)值(aaa = 111&bbb = 222&ccc = 333);

插入前:aaa = 111&bbb = 222&ccc = 333

但是,在使用FireDAC插入后,字符串變為:aaa = 111 = 222 = 333

也就是說,在使用FireDAC時,刪除了字符“&bbb”和“&ccc”。

您能告訴我如何解決它,謝謝!

更好地養成始終在查詢中使用參數的習慣( 在線文檔 ),因為它可以避免此類問題。 在您的情況下,代碼應如下所示:

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

除了文檔中提到的好處外,如果不使用參數,您還可以避免SQL注入和數據庫中可能發生的各種其他“討厭”事情。

另外,對於更新和插入,使用FDConnection組件本身更加干凈。

例:

FDConnection.ExecSQL(
  'insert into ttb (x) values(:TestData)',
  ['aaa=111&bbb=222&ccc=333'],
  [ftString]);

無需額外的查詢。 干凈簡單!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM