下面幾行我創建一個圖像路徑和PTH存儲在sqqlite DB:錯誤插入記錄的SQLite數據庫
private void commitToDB() {
imgTitle = "img";
GenerateRandom gr = new GenerateRandom();
imgTitle +=gr.getRand()+".jpeg";
db = mpoh.getWritableDatabase();
cv = new ContentValues();
File dir = Environment.getExternalStorageDirectory();
File file = new File(dir,"/DCIM/"+imgTitle);
cv.put(imgName, imgTitle);
cv.put(path,file.getAbsolutePath());
Toast.makeText(getApplicationContext(),imgTitle, Toast.LENGTH_LONG).show();
long newID = db.insert("MPData", null, cv);
if (newID == -1) {
Toast.makeText(getBaseContext(), "Error Commiting Record(s)",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "Data Commited Successfully",
Toast.LENGTH_SHORT).show();
}
}
和我的SQLite數據庫的樣子:
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(" CREATE TABLE " + MP_TABLE_NAME + " (" +
BaseColumns._ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
" name TEXT, " +
" lat REAL, " +
" lng REAL, " +
" date TEXT, " +
" time TEXT, " +
" path TEXT, " +
" imgName TEXT " +
");");
}
我的問題是即,收到 「錯誤Commiting記錄(S)」,是因爲NEWID的= -1
long newID = db.insert("MPData", null, cv);
if (newID == -1)
另外需要注意的是,DB的一個實例是instanti在裏面創造。
任何建議來解決這個問題將受到讚賞。
cv.put(imgName,imgTitle); cv.put(路徑,file.getAbsolutePath()); imgName和path的值是什麼? –
cv.put(path,「」+ file.getAbsolutePath()); –
我fuond如何解決我的問題...我可以將答案郵寄到我的問題......也許我soulion將可幫助他人! – LetsamrIt