クエリ、挿入、または null を返すその他の SQL メソッドに関する情報が見つからないようです。ただし、エラーが発生した場合はそうします。
カーソルが null であるということは、エラーが発生したことを意味するのか、それとも行が選択されていないことを意味するのでしょうか (たとえば)? エラーまたは時々発生する可能性のある何かとして、それをどのように扱うべきかわかりません。
クエリ、挿入、または null を返すその他の SQL メソッドに関する情報が見つからないようです。ただし、エラーが発生した場合はそうします。
カーソルが null であるということは、エラーが発生したことを意味するのか、それとも行が選択されていないことを意味するのでしょうか (たとえば)? エラーまたは時々発生する可能性のある何かとして、それをどのように扱うべきかわかりません。
チェックする必要はないと思いますif(cursor == null) {}
。
まず
、クエリが行を返さない場合は、空のCursor を受け取ります。カーソルは になりませんnull
。
Cursor が空かどうかを確認するには、さまざまな方法があります。
if(cursor.getCount == 0) {}
if(!cursor.moveToFirst()) {}
実際、すべての Cursor#moveTo...() メソッドは または のいずれtrue
かfalse
を返します。受け取っfalse
た場合、要求した行は存在しません。
次に
、エラーが発生した場合は、try-catch ブロックでエラーをキャッチする必要があります。そうしないと、未処理の例外からアプリがクラッシュします。
またinsert()
、update()
、およびdelete()
は、カーソルではなく整数を返します。これらのメソッドは、ステートメントによって影響を受ける行の数を返します。影響を受ける行がない場合、これらのメソッドは を返し0
ます。
カーソルの結果、行が選択されていない場合は (-1) を返します。エラーが発生した場合、カーソルは null になる可能性があります。