クエリ、挿入、または 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 になる可能性があります。