2012-04-23 15 views
1

"MODIFIED"列を持つ私のアンドロイドアプリにSQLiteテーブルがあります。基本的には、現在の行が最初に挿入または更新された時刻(日付と時刻)を格納します。sqliteの列を現在の日付時刻でandroid

私がupdate()のAndroidのSQLite DBの機能を使用している場合、ContentValuesパラメータに日時の値を設定する方法がわかりません。

execSql()メソッドを使用する場合は、DATETIME() SQL関数を使用して、現在の時刻を「MODIFIED」列に設定することができます。しかし、この関数には戻り値はありません。更新が成功したかどうかはわかりません。

提案がありますか?

ContentValues values = new ContentValues(); 
values.put("modified", currentTime); 
db.update("table", values, "_id = XXX", null); 

は、あなたが行を更新するために使用する条件で_id = XXXを置き換えます

答えて

1

別のアプローチは、「修飾」の初期値は、この形式 `YYYY-MM-DD HHであるread about it here.

+0

これは私が今試みていることです。これはより適切です。 –

1

あなただけのような何かを行う必要があります。 Updateメソッドは、更新された行の数を返します。 (彼らは実際のSQLite http://www.sqlite.org/datatype3.htmlに存在しないため)

また、あなたがその列の型とcurrentTimeとしてSystem.currentTimeMillis()を渡す代わりにDATETIMEの整数を使用することができます。 MM:

+0

、SQLiteのそれ自体と各「UPDATE」に自動的に変更更新する「TRIGGER」を作成することです:SS'なので、 'System.currentTimeMillis()'に更新すれば、形式が異なり、order by節は動作しません。 –

+0

それから、そのフォーマットを使用してください。問題は何ですか? 'SimpleDateFormat'クラスを見てください;) – Cristian

関連する問題