Проблема с апострофом при записи строки в SQL Server в VB.net - PullRequest
0 голосов
/ 15 декабря 2010

У меня проблемы с записью этой строки в таблицу базы данных SQL 200:

Недопустимое преобразование из строки "" в тип "Integer".

Как я могу убедиться, что мое приложение vb.net записывает приведенную выше строку в точности так, как она выглядит, в поле таблицы?

Ответы [ 2 ]

4 голосов
/ 15 декабря 2010

Я бы рекомендовал использовать SqlCommand и SqlParameters, а не необработанные строки SQL - по ряду причин.Чтобы избежать символов в SQL, по умолчанию я считаю, что вам просто нужно удвоить их (например, «становится»).

2 голосов
/ 15 декабря 2010

Я считаю, что единственные правила для экранирования:

  1. Используйте две кавычки для каждой отображаемой
  2. Символы экранирования (_ и %) с обратной косой чертой

Таким образом, вы легко сможете вставить любую понравившуюся вам строку, выполнив сначала 3 поиска и заменив строку - заменив ' на '', заменив _ на \_ и заменив % \%

...