Позиционные параметры определяются их порядком в запросе. Именованные параметры указываются их именами.
При использовании позиционных параметров вы должны добавлять их в том же порядке, в котором они используются в запросе, и если вы хотите использовать одно и то же значение более одного раза, вы должны добавить его несколько раз в качестве отдельных параметров.
При использовании параметров имен вы можете добавлять их в любом порядке, и параметр может использоваться более одного раза в запросе.
Например, если у вас есть запрос, который ищет в нескольких полях, используя позиционные параметры, он может выглядеть так:
select u.UserId, u.UserName
from FormumUser u
where u.UserName like ? or u.Email like ? or u.Address like ?
Вы должны добавить строку поиска три раза в качестве отдельных параметров. Используя параметры имен, это может выглядеть так:
select u.UserId, u.UserName
from FormumUser u
where u.UserName like @find or u.Email like @find or u.Address like @find
Тогда вы бы добавили только один параметр, поскольку запрос может использовать один и тот же параметр в трех местах.
(Точный синтаксис для использования параметров в запросе, конечно, зависит от того, какое решение базы данных вы используете.)