Проблема с кавычками

tel7432545

проект на VB.NET.
Есть база, из нее берутся данные и что-то с ними делается.
Но вот когда в этих данных проскакивают кавычки, то некоторые функции отказываются работать (по понятным причинам).
Вручную заменять " на "" повсеместно не очень охото. Ведь явно кто-то знает более изящный вариант решения данной неувязочки.

evgen5555

Ты можешь выяснить сначала, какие именно функции этого "что-то" отказываются работать с уже извлеченными данными, и чем они аргументируют отказ? Мне вот не "понятно" совершенно.

durka82

Можно переводить в asci-последовательности.
Такие функции в апи должны быть.
Кстати, в шарпе, например, перед строкой можно поставить условный символ и тогда в ней слэши не являются спецсимволами - мб для двойных кавычек тоже есть что-то подобное.
Еще можно попробовать использовать по-умолчанию одинарные кавычки, только не знаю можно ли это настроить для функций глобально

tel7432545

Dim MyStr As String
' Если в MyStr вытащили из базы значение, содержащие кавычки,
то при написании, например
MyCMD.CommandText = "INSERT INTO Table (text, id) VALUES ("""+MyStr+""", 454)"
MyCMD.ExexuteNonQuery
эта ошибка то и проявится. Я так думаю. В других местах пока не знаю.

tel7432545

Кстати, в шарпе, например, перед строкой можно поставить условный символ и тогда в ней слэши не являются спецсимволами - мб для двойных кавычек тоже есть что-то подобное.
а вот это очень может быть. Никто не знает про VB?

evgen5555

Лучше делать так.

MyCMD.CommandText = "INSERT INTO Table (text, id) VALUES (@myShittyParameter, 454)"
MyCMD.Parameters.Add("@myShittyParameter", MyStr)
MyCMD.ExexuteNonQuery

durka82

Никто не знает про VB
Скорее всего это свойственно всем .net языкам.

tel7432545

Может так лучше?
А то база заругается (кстати, Access)
MyCMD.CommandText = "INSERT INTO Table (text, id) VALUES ( "" @myShittyParameter"" , 454)"
MyCMD.Parameters.Add("@myShittyParameter", MyStr)
MyCMD.ExexuteNonQuery
А факт, что это вылечит в данной ситуации?

evgen5555

А факт, что это вылечит в данной ситуации?
Попробуй - увидишь.

evgen5555

Чем больше будешь ебаться с кавычками, тем больше шансов, что база будет похачена или безвозвратно слетит с рельс.

bleyman

>эта ошибка то и проявится. Я так думаю. В других местах пока не знаю.
Не понял... Ты думаешь, что она может проявиться, или она проявляется? Я вот, например, не знаю ни одного функции в System, которая бы некорректно воспринимала кавычки в _уже_ созданной строке.
Оставить комментарий
Имя или ник:
Комментарий: