SQLiteを使用して、 'を含む文字を検索するにはどうすればよいですか?'SQLiteを使って、 'を含む文字を検索するには?
これはブルースや野球を見つけるために動作します:
string stCmdString = "SELECT fstInfo FROM PadTable WHERE fstInfo LIKE '%bruce%' AND fstInfo LIKE '%baseball%'"
ブルースさんと野球見つける方法をわかりません。
SQLiteを使用して、 'を含む文字を検索するにはどうすればよいですか?'SQLiteを使って、 'を含む文字を検索するには?
これはブルースや野球を見つけるために動作します:
string stCmdString = "SELECT fstInfo FROM PadTable WHERE fstInfo LIKE '%bruce%' AND fstInfo LIKE '%baseball%'"
ブルースさんと野球見つける方法をわかりません。
あなたは別のアポストロフィでアポストロフィをエスケープ:
string stCmdString = "SELECT fstInfo FROM PadTable WHERE fstInfo LIKE '%bruce''s%' AND fstInfo LIKE '%baseball%'"
私は2つの引用符を使ってこれを行うことができますが、これは。 OLE DBで.Parametersを使用すると、この問題が修正されます。 SQLiteに相当するものはありますか? – ttom
パラメータ機能は、言葉では「持っている言葉を使用することができます。
using (System.Data.SQLite.SQLiteCommand sqliteCmd = sqliteConnection.CreateCommand())
{
sqliteCmd.CommandText = "SELECT" + stFieldNames + "FROM " + stTableName + " WHERE " + stLikeFieldName + " LIKE '%' || @p0 || '%'";
sqliteCmd.Parameters.Add(new SQLiteParameter("@p0", liststLikeFieldValue[0]));
for (int iii = 1; iii < liststLikeFieldValue.Count; iii++)
{
sqliteCmd.CommandText += " AND " + stLikeFieldName + " LIKE '%' || @p" + iii.ToString() + " || '%'";
sqliteCmd.Parameters.Add(new SQLiteParameter("@p" + iii.ToString(), liststLikeFieldValue[iii]));
}
「fld = 'bruce''s'' **しかし**あなたはパラメータ化されたクエリを使用する必要があります。これはa)あなたのためにこれを行い、b)あなたを安全にしますSQLインジェクションから。 –