SQL Server & .NET

7 отговора 529 прегледа
#1

SQL Server & .NET

има ли функция в библиотеките на .нет, която да преработва стринг, така че да става за вкарване в SQL Server (без параметри). Например да заменя апострофите и амперсандите? Питам, защото това заменяне го правя ръчно, но не мога да обхвана всичи символи, които биха накарали въвеждането да гръмне...

Отговор
в отговор на Meмo #2

Re: SQL Server & .NET

Мммм, а защо не ползваш параметризирани заявки? М? Доста по-чисто става, отколкото манипулация на стрингове.

но след безсънни дълги нощи станах силен и голям
и вече знам, че мога да се справя сам
Отговор
в отговор на Survivor #3

Re: SQL Server & .NET

в случая наистина няма как, защото трябва да преправям чужд код и времето ме притиска, а наистина ще ми се отвори много работа, ако трябва да преработя всичко.

Отговор
в отговор на Survivor #4

Един въпрос ....

Как се прави с параметър следното:

cmd.CommandText = "SELECT MyID, MyTyp FROM MyTable WHERE MyTyp IN ( ? )"

Отговор
в отговор на VBProgrammer #5

Re: Един въпрос ....

Контра въпрос: какво се прави с питанката?

Ако се замества с някакъв скалар от някакъв тип:

cmd.CommandText = "SELECT MyID, MyTyp FROM MyTable WHERE MyTyp IN ( @SomeParam )"
cmd.Parameters.Add("@SomeParam", DbType.Int)

Ако трябва да е списък стойности - тогава вече губиш.

но след безсънни дълги нощи станах силен и голям
и вече знам, че мога да се справя сам
Отговор
в отговор на Survivor #6

Re: Един въпрос ....

За това ставаше дума.
Ако трябва да е списък стойности - тогава вече губиш.
- що трябва да парсвам и да чистя SQL?

Отговор
в отговор на Meмo #7

Re: SQL Server & .NET

AddSlashes & Magic Quotes ?

--
Sometimes the sole purpose of your life is to serve as a warning to others.
Отговор
в отговор на Survivor #8

Re: Един въпрос ....

Ако трябва да е списък стойности - тогава вече губиш.

Глупости на търкалета:-) как го па измисли това, че губиш само не разбрах, м?

А какво ще кажеш ако в списъчния лист сложиш повече от един параметър?

cmd.CommandText = "SELECT MyID, MyTyp FROM MyTable WHERE MyTyp IN ( @Param1, @Param2, @Param3.....@ParamN )"
cmd.Parameters.Add("@Param1", DbType.Int)
cmd.Parameters.Add("@Param2", DbType.Int)
cmd.Parameters.Add("@Param3", DbType.Int)
.....................
cmd.Parameters.Add("@ParamN", DbType.Int)

Отговор