Что произойдет, если я вызову ParamByName для параметра, которого не существует?

StackOverflow https://stackoverflow.com/questions/8880091

  •  28-10-2019
  •  | 
  •  

Вопрос

Я новичок в Delphi и получил следующий фрагмент кода (без некоторых нерелевантных частей), для которого я пытаюсь понять, что он делает:

родовое слово

В другом файле этот запрос используется, но добавляется параметр, который не определен в запросе.

родовое слово

Изменяет ли этот параметр 'part' что-нибудь в сделанном выборе?Другими словами: автоматически ли SQL-запрос изменяется на следующий?

родовое слово
Это было полезно?

Решение

Это означает, что оператор SQL может быть изменен во время выполнения.поэтому, когда этот запрос используется, SQL уже содержит генерирующий код тега.

Если оператор SQL не содержит этого дополнительного параметра AND part = :part, при назначении кода part возникает исключение.

Я предполагаю, что вы не перепутали ссылку на ParamByName('part').Value := 1 (которая находится в SelectCosts, а не в другом DM).

Другие советы

Следующий оператор в вашем сообщении не добавляет параметр, он устанавливает его значение:

родовое слово

Чтобы добавить параметр во время выполнения, используйте CreateParam следующим образом:

родовое слово

Запрос не изменяется автоматически, вы должны сделать это самостоятельно.

В вашем первом фрагменте ParamType и InputType не определены, вы можете изменить это в IDE, открыв редактор свойств списка параметров (Params) и обновив эти значения.

Добавление нового параметра не меняет запрос.Вы должны сделать это сами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top