4

クエリ、挿入、または null を返すその他の SQL メソッドに関する情報が見つからないようです。ただし、エラーが発生した場合はそうします。

カーソルが null であるということは、エラーが発生したことを意味するのか、それとも行が選択されていないことを意味するのでしょうか (たとえば)? エラーまたは時々発生する可能性のある何かとして、それをどのように扱うべきかわかりません。

4

3 に答える 3

7

チェックする必要はないと思いますif(cursor == null) {}

まず
、クエリが行を返さない場合は、空のCursor を受け取ります。カーソルは になりませnull

Cursor が空かどうかを確認するには、さまざまな方法があります。

  • if(cursor.getCount == 0) {}
  • if(!cursor.moveToFirst()) {}

実際、すべての Cursor#moveTo...() メソッドは または のいずれtruefalseを返します。受け取っfalseた場合、要求した行は存在しません。

次に
、エラーが発生した場合は、try-catch ブロックでエラーをキャッチする必要があります。そうしないと、未処理の例外からアプリがクラッシュします。


またinsert()update()、およびdelete()は、カーソルではなく整数を返します。これらのメソッドは、ステートメントによって影響を受ける行の数を返します。影響を受ける行がない場合、これらのメソッドは を返し0ます。

于 2012-09-21T20:40:02.767 に答える
-3

カーソルの結果、行が選択されていない場合は (-1) を返します。エラーが発生した場合、カーソルは null になる可能性があります。

于 2012-09-21T20:25:04.357 に答える