SQLite中是否有Long类型?
SQLite中没有long类型,可以使用INTEGER或Numeric类型代替。下面是一个包含支持的数据类型的链接:http://www.sqlite.org/datatype3.html
解决方法:使用INTEGER或Numeric类型代替long类型。
在SQLite中,没有直接的"Long"类型,只有"INTEGER"类型。因此,如果我们想在SQLite中存储"long"类型的值,需要将其存储为"INTEGER"类型。这个问题的解决方法是创建一个"INTEGER"类型的列,并将"long"类型的值存储在这个列中。
具体的解决方法如下:
1. 使用db.execSQL
方法创建表时,将列的类型设为"INTEGER":
db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "(" + KEY + " INTEGER" + ")");
2. 将"long"类型的值存储在"INTEGER"类型的列中:
contentValues.put(KEY, object.getLongValue()); db.insert(TABLE_A, null, contentValues);
3. 当从游标中检索值时,使用getLong
方法获取"long"类型的值:
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null); long value = cursor.getLong(0);
与直接使用"INTEGER"类型相比,这种方法的不同之处在于,我们需要将"long"类型的值存储在"INTEGER"类型的列中,并且在从游标中检索值时,需要使用getLong
方法来获取"long"类型的值。这样可以确保在SQLite中正确存储和检索"long"类型的值。