Вопрос

Я хочу кэшировать большие 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>");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top