-4
我剛剛學會了如何在Android中使用SQLite數據庫。我有一個錯誤,我不知道。SQLite數據庫將String保存爲「0」
當我嘗試在我的sqlite數據庫中保存字符串時,它始終將其保存爲「0」,而不管使用哪個字符串作爲輸入。這是我的代碼示例。
ContentValues values = new ContentValues();
Log.i("CrimeLab", "put : "+crime.getId().toString());
values.put(CrimeDbSchema.CrimeTable.Cols.UUID, "31b0a98a-4089-46de-8325-4ec673bbd713"); // crime.getId().toString()
Log.i("CrimeLab", "take: "+values.getAsString(CrimeDbSchema.CrimeTable.Cols.UUID));
values.put(CrimeDbSchema.CrimeTable.Cols.TITLE, crime.getTitle());
values.put(CrimeDbSchema.CrimeTable.Cols.DATE, crime.getDate().getTime());
values.put(CrimeDbSchema.CrimeTable.Cols.UUID, crime.isSolved() ? 1 : 0);
我有階級犯罪有它的唯一UUID,標題,日期,如果犯罪得到解決。一切都完好保存,但只有UUID.toString()被保存在數據庫中爲「0」。無論我嘗試將它放在哪個字符串中,都會將其保存爲「0」,這是圖片。
這裏是如何顯示在數據庫中,一切都只是這串好。我有一本書,從我的講座開始,這本書的代碼是相同的,它不起作用。這就是我從數據庫中獲取價值的方式。
public class CrimeCursorWrapper extends CursorWrapper
{
public CrimeCursorWrapper(Cursor cursor)
{
super(cursor);
}
public Crime getCrime(){
String uuidString = getString(getColumnIndex(CrimeDbSchema.CrimeTable.Cols.UUID));
String title = getString(getColumnIndex(CrimeDbSchema.CrimeTable.Cols.TITLE));
long date = getLong(getColumnIndex(CrimeDbSchema.CrimeTable.Cols.DATE));
int isSolved = getInt(getColumnIndex(CrimeDbSchema.CrimeTable.Cols.SOLVED));
// And so on.
只是想通了。經過4個小時的搜索和調試!真是個錯誤...... –