Параметры форм создаются элементами управления. Если несколько элементов имеют одинаковое имя и передают значения (как, например, может быть с элементами управления CHECKBOX), они все будут доступны через тег <#P> и, возможно, другие теги. При этом значения будут разделены между собой запятой и пробелом. Таким образом, полученный список может использоваться в SQL конструкции
..IN(:LISTPAR1)
..IN (1, 2, ..N)..
Как быть, если Вы хотите передать из нескольких элементов управления значения, но не разделять их запятой и пробелом? Для этого нужно поставить символ "+" в конце значения:
<INPUT TYPE=HIDDEN NAME=VALUE1 VALUE="F:\src\+">
<INPUT TYPE=HIDDEN NAME=VALUE1 VALUE="mytext.txt">
В результате тег <#P name=VaLuE1> вернет:
F:\src\mytext.txt
Если нужно поставить знак плюс в конце строки, поставьте перед плюсом знак "\":
a+b+c\+ -> a+b+c+
При этом, если в форме будет присуствовать другой элемент с тем же именем, конкатенация параметров будет производиться как список, разделенный запятой с пробелом.
Если параметры в списке будут представлять собой не слова, а целые предложения, каждый элемент НЕ будет заключаться в одиночные кавычки:
'1 параметр', 2, '3, 4', 'Конец' - не так!
Проверка на то, является ли параметр строкой и, соответственно, нуждается в кавычках, не делается. Это повышает требования к аккуратности написания sql выражений и созданию параметров- Вы должны делать это сами. Зато отключение возможности такой проверки позволяет Вам написать примерно такой код:
..value="1" ... value="2, 3, 4" тогда результат слияния будет:
1, 2, 3, 4
Если включить (только при перекомпиляции) возможность такого закавычивания, то получилось бы:
1, '2, 3, 4'
Если параметр затем передается в sql выражение, то в sql выражении проверяется, есть ли одиночная или двойная кавычка непосредственно перед употреблением параметра. Если есть, то кавычки не ставятся, а если они есть- то они удаляются. Если нет, то тогда предложение закавычивается, а одиночное слово или число - нет. Поэтому для строковых параметров ставьте кавычки в sql предложениях.