2011-09-16 5 views
1

私のクエリは「いいえ、そのような列」の例外にクエリ結果を実行

dbAdapter.selectRecordsFromDB("OmniaDB",new String[]{"imsi","type","msg","length","dt_gen","dt_send"},"type"+"="+"call"+"AND"+"dt_send"+"="+"null",null,null,null,"dt_gen"); 

スローされた例外は、あなたが"type"+"="+"call"+"AND"+"dt_send"+"="+"null"にスペースのトンを逃している

android.database.sqlite.SQLiteException: no such column: callANDdt_send: , while compiling: SELECT imsi, type, msg, length, dt_gen, dt_send FROM OmniaDB WHERE type=callANDdt_send=null ORDER BY dt_gen 
+6

あなたは9つの質問をしましたが、いずれにも投票していません。 –

+2

回答を受け入れる方法がわからない場合は、[回答受付はどのように機能しますか?](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)を参照してください。なぜ)。 –

答えて

1

です、"type='call' AND dt_send=null"でなければなりません。なぜあなたは巨大な文字列でなければならない場合でも連結を使用していますか?とにかく、あなたのデータがどのように見えるかわからないので、それを修正した後に何か間違ったことがあるかもしれません。

1
"type"+"="+"call"+"AND"+"dt_send"+"="+"null" 

これは意味がありません。不要な連結を取り除くには、

"type = call AND dt_send = null" 

無効なSQLが残っています。文字列callを正しく引用していないので、NULLと同等のもの(NULLを含む)と比較することはできません。

これは可能性が高いあなたが使用する必要がありますものです:

"type = 'call' AND dt_send IS NULL" 

は、おそらくあなたが投稿混乱と他の問題があるが、これはそれらの少なくとも1つを解決する必要があります。 (例えば、typeはSQLiteの予約語になるかもしれませんが、わかりません)

関連する問題