2

次のSQLステートメントを使用してデータベースを作成しました

private static final String DATABASE_CREATE = "create table "+ TABLE_USERLOCATION + "("
+ COLUMN_ID+" integer primary key autoincrement, "
+ COLUMN_LONGITUDE +" real not null, "
+ COLUMN_LATITUDE+" real not null, "
+ COLUMN_TIME + " timestamp not null default current_timestamp);";

経由で COLUMN_TIME を取得しようとすると

cursor.getColumnIndex(GPSSqliteHelper.COLUMN_TIME)

私は-1を取得します(明らかにエラーです)

しかし、エミュレーターのデータベース ディレクトリに移動してすべてのエントリを確認すると、タイムスタンプが追加されていることがわかります。

1|2.71828|3.14159166666667|2013-04-09 00:05:50

2|2.71828|3.14159166666667|2013-04-09 00:35:09

日付にアクセスするにはどうすればよいですか? また、getColumnCount() が 4 ではなく 3 を返すのはなぜですか?

私はこのチュートリアルに取り組みました (私のテーブル作成ステートメントは基本的にそこで提示されたものと似ています)。

乾杯

4

2 に答える 2

-3

sqlite はタイムスタンプ型を使用しません。日付はテキストとして作成する必要があります。こちらをご覧ください

これが私が行うことであり、コードで必要に応じて日付文字列を操作できます。

于 2013-04-09T16:48:31.020 に答える