C #, Хранящий HTML-страницы в базе данных SQLite
-
13-09-2019 - |
Вопрос
Я хочу кэшировать большие HTML-страницы в базе данных SQLite в виде больших двоичных объектов, но HTML-страницы, конечно, могут содержать много символов, которые повредят инструкцию SQL.
Я не слишком доволен выполнением поиска / замены, чтобы избежать всех символов, искажающих инструкцию SQL, и кодирование HTML в формат, принятый SQL, кажется дорогостоящим шагом, в конце концов, я кэширую страницы, чтобы ускорить процесс.
Есть ли какая-либо другая альтернатива для этого?
Я использую SQLite.NET поставщик услуг
Решение
Я бы ожидал, что если бы вы использовали именованный параметр для выполнения вставки, механизм запросов позаботился бы об экранировании необходимых символов для вас;например (обратите внимание, я никогда не использовал Sqlite, так что это надуманный образец):
var myCommand = SqliteCommand("INSERT INTO HtmlPages(PageName, PageText) VALUES(@PageName, @PageText)");
myCommand.Parameters.AddWithValue("@PageName", "asdf");
myCommand.Parameters.AddWithValue("@PageText", "<html>...</html>");