Можно ли обозначить переменную связывания в SQL Server, используя ту же нотацию, что и Oracle, то есть: 0, : 1 вместо использования ?.
Я искал, но не нашел ничего убедительного по этому поводу. На данный момент мое решение использует переменные связывания для ввода значений в операторы, которые я запускаю в базе данных, которая отлично работает в Oracle, но мне также нужно сделать то же самое в SQL Server и PostGIS, чтобы назвать несколько. Я не хочу говорить, например:
switch(dialect)
{
case "Oracle":
{
oleDataBaseConnection.AddParameter(":1", coordsys);
break;
}
case "SQLServer":
{
oleDataBaseConnection.AddParameter("?", coordsys);
break;
}
}
*AddParameter() — это функция из моего класса-оболочки, которая добавляет значения в список для добавления к объекту команды при вызове написанной мной функции выполнения.
Я хотел бы, чтобы мой код был как можно более чистым и не содержал жестко закодированного материала, как показано выше. Я хочу решение, которое подходит всем. (да, я знаю, что это, вероятно, принятие желаемого за действительное!)
Я знаю, что мог бы использовать замену строки, чтобы сделать это, но это просто не то, что мне нужно. Я действительно не хочу использовать такой обходной путь. Также мой руководитель проекта попросил меня попытаться найти решение с использованием переменных связывания.
Любые идеи?