В Delphi 7, как я выхожу из знака процента (%) в функции Формата?

Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException вообще.

См. также: A хороший список лучших практик

Я бы добавил, очень важно, хорошо использовать модификатор final. Использование "окончательной" модификатор, когда это применимо в Java

Сводка:

  1. Используйте модификатор final для обеспечения хорошей инициализации.
  2. Избегайте возврата null в методы, например, при возврате пустых коллекций.
  3. Использовать аннотации @NotNull и @Nullable
  4. Быстрое завершение работы и использование утверждений, чтобы избежать распространения нулевых объектов через все приложение, когда они не должен быть пустым.
  5. Сначала используйте значения с известным объектом: if("knownObject".equals(unknownObject)
  6. Предпочитают valueOf() поверх toString ().
  7. Используйте null safe StringUtils StringUtils.isEmpty(null).

17
задан Blorgbeard 6 September 2012 в 08:28
поделиться

3 ответа

Используйте другой % в строке формата:

SQL.Text := Format('select foo from bar where baz like ''%s%%''',[SearchTerm]);
29
ответ дан 30 November 2019 в 11:32
поделиться

%%, IIRC.

6
ответ дан 30 November 2019 в 11:32
поделиться

Обязательный: http://xkcd.com/327/ :-)

В зависимости от контекста, Ваш подход мог бы быть уязвим для Внедрения SQL. Если бы критерий поиска прибывает из ввода данных пользователем, вероятно, было бы лучше использовать параметризированный запрос или по крайней мере попытаться санировать вход.

4
ответ дан 30 November 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: