2016-04-25 18 views
0

私は、MACアドレスを保持するSQLiteテーブルの列を持っています。コロン(:)で囲まれたSQL(ite)節

コロン ':'文字を含む文字列値に対してSQL where句を書くにはどうすればよいですか?引用符で囲んでも機能しません。

これまでのところ、私はこのエラーを取得してきた:

android.database.sqlite.SQLiteException: near ":66": syntax error (code 1): , while compiling: SELECT * FROM PhoneStatus WHERE phoneDeviceId=00:66:4B:B2:7B:F5 

ありがとう!

+0

dbmsのエスケープ文字を検索します。また、phoneDeviceIdはchar型で、一重引用符で囲みます。 '00:66:4B:B2:7B:F5 ' –

答えて

0

あなたは文字列定数のために単一引用符を必要とするように思われるクエリは、単一引用符で区切られ

SELECT * 
FROM PhoneStatus 
WHERE phoneDeviceId = '00:66:4B:B2:7B:F5' 

場合は、それらを倍増か何とかして脱出します。

+0

これは動作していないようです。二重引用符も二重引用符も逃げません。 –

+0

問題は、文字列の引用符を正しく処理できないラッパー関数を使用していることでした。 これは正常に機能しました: SQLiteDatabase.rawQuery( "SELECT * FROM PhoneStatus WHERE phoneDeviceId = '00:66:4B:B2:7B:F5 '"); ありがとう! –