![]() |
Помогите найти фунцию. (приступ идиотизма) (VBA, Access)
Доброго времени суток.
Не могу отыскать подходящую ф-ю в MSDN и хелпах. Ф-я должна обрабатывать строку с SQL запросом и заменять "небезопасные символы" (например "'" на"\'") и т.д. Можно конечно и самому написать, но в данном случае это не лутшее решение. Такая функция есть 99%. Поможете найти ? |
По одному Replace на каждую пару замены.
|
Raven B.
Ты хочешь предотвратить sql-инъекцию? Стандартных функций для этого не припомню. Вообще имхо надо не sql запрос обрабатывать, а те строки, из которых он составляется. "Опасными" будут знаки кавычек, которые используются в запросе для обозначения строковых литералов (в Access я использую исключительно ", хотя допускается и '); и достаточно заменить одну кавычку на две в той строке, которая используется в запросе. Например: Код:
s = "SELECT * FROM T WHERE T.str_f LIKE """ & mystr & """"Код:
Public Function DoubleQuotesInStr(ByVal str As String) As StringКод:
s = "SELECT * FROM T WHERE T.str_f LIKE """ & _ |
Спасибо огромное за функцию.
Что ж если нет стандартной функции то нет... ничего не подеалешь =( Вообще проблема была не в безопасности. БД локальная. Проблема была в том что запросы у меня выглядят как: Код:
DoCmd.RunSQL ("INSERT INTO pest_type_n_t ( pest_type_n ) VALUES ('" & proff_in.Value & "');")Спасибо еще раз. Буду копатся. |
| Часовой пояс GMT +4, время: 05:55. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.