Oh *_*ooo 1 sql delphi delphi-10-seattle
我有一个string存储我的SQL代码,它看起来像这样:
'SELECT * FROM myTable WHERE myField LIKE '%2015' AND myOtherField = %d'
Run Code Online (Sandbox Code Playgroud)
第一个问题:我如何使用格式化的myOtherField唯一?下面的代码似乎没有忽略第一个%符号:
MyQuery.SQL.Add(Format(myString, myNumber));
Run Code Online (Sandbox Code Playgroud)
第二个问题:当我需要SQL的第一个'%'符号时,如何使用格式化,但我也想格式化日期?遗憾的是,以下代码也不起作用.
'SELECT * FROM myTable WHERE myField LIKE '%%d' AND myOtherField = %d'
Run Code Online (Sandbox Code Playgroud)
MyQuery.Sql.BeginUpdate;
MyQuery.Sql.Add('SELECT * FROM myTable');
MyQuery.Sql.Add('WHERE myField LIKE :MyField AND');
MyQuery.Sql.Add('myOtherField = :MyOtherField');
MyQuery.Sql.EndUpdate;
MyQuery.Parameters[0].Value := '%' + '2015';
MyQuery.Parameters[1].Value := intval;
Run Code Online (Sandbox Code Playgroud)
我建议这应该是所有查询的样板解决方案; 它只需要很少的额外工作,并且比摆弄引号和转义字符更具可读性.
鉴于这个问题,这并不是说接受的答案是错误的.
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |