1

大きなHTMLページをブロブとしてSQLiteデータベースにキャッシュしたいのですが、HTMLページにはもちろん、SQLステートメントを破損する文字がたくさん含まれている可能性があります。

検索/置換を実行してSQLステートメントを台無しにするすべての文字をエスケープすることにあまり満足していません。HTMLをSQLで受け入れられる形式にエンコードすることは、コストのかかる手順のように思えます。結局、処理を高速化するためにページをキャッシュしています。

これに代わる他の方法はありますか?

SQLite.NETプロバイダーを使用しています

4

1 に答える 1

3

名前付きパラメーターを使用して挿入を行った場合、クエリエンジンが必要な文字のエスケープを処理することを期待します。例(注:私はSqliteを使用したことがないので、これは不自然なサンプルです):

var myCommand = SqliteCommand("INSERT INTO HtmlPages(PageName, PageText) VALUES(@PageName, @PageText)");
myCommand.Parameters.AddWithValue("@PageName", "asdf");
myCommand.Parameters.AddWithValue("@PageText", "<html>...</html>");
于 2009-09-23T13:18:47.707 に答える