Saya ingin membuat tabel dengan tipe kolom, Longbukan Integer. Apa itu mungkin?
Saya ingin membuat tabel dengan tipe kolom, Longbukan Integer. Apa itu mungkin?
Jawaban:
Dari dokumen SQLite
INTEGER . Nilainya adalah bilangan bulat bertanda, disimpan dalam 1, 2, 3, 4, 6, atau 8 byte tergantung pada besarnya nilai.
Karena long8 byte dan INTEGERjuga dapat menyimpan nilai 8 byte, Anda dapat menggunakan INTEGER.
int, pastikan Anda menggunakan durasi panjang.
Buat kolom sebagai INTEGERtipe:
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
+ KEY + " INTEGER" + ")");
Letakkan longnilai di INTEGERkolom:
contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);
Penting: ambil nilai dari kursor sebagaiLONG
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);
Saya tidak berpikir ada tipe panjang. Anda dapat menggunakan INTEGER (atau) Numerik. Berikut ini tautan dengan tipe data yang didukung http://www.sqlite.org/datatype3.html
Link di atas menggambarkan 64 bit Integer atau Intinya panjang, lihat juga Apa perbedaan antara tipe data integer SQLite seperti int, integer, bigint, dll?
SQLIte akan mengatur lebar integer yang sesuai tergantung pada masukan Anda
yang INTEGER dapat menyimpan lama tapi untuk mendapatkan panjang dari kursor harus melakukan seperti ini:
int type = cursor.getType(j);
String value = cursor.getString(j);
try {
int intValue = Integer.parseInt(value);
field.set(object, intValue);
} catch (NumberFormatException e) {
long longValue = Long.parseLong(value);
field.set(object, longValue);
}
saya menggunakan ini untuk menyimpan cap waktu di sqlite