2015-09-05 82 views
0

我保存一些數據和PIC我的分貝我發現真正的辦法來挽救我的分貝PIC是contentvalue使用,因此這個代碼:錯誤使用插入查詢android中

   try 
       { 

        MyDataBase = new MyDatabase(this); 
        mydb = MyDataBase.getWritableDatabase(); 
        ContentValues tempval; 
        for (int j = 0; j < myarray.arrtitle.length; j++) 
        { 
         tempval = saveimage(myarray.arrpic.get(j),myarray.arrpath[j]); 
         mydb.execSQL("INSERT INTO news (title,content) VALUES (\"" + myarray.arrtitle[j] + 
         "\",\"" + myarray.arrcontent[j] + "\"" + ")"); 
         mydb.insert("news", null, tempval); 
        } 
        mydb.close(); 
        Toast.makeText(getApplicationContext(), "database 2 done", Toast.LENGTH_LONG).show(); 
        count = 5; 
       } catch (Exception e) { 
        // TODO: daabase error2 
        Toast.makeText(getApplicationContext(), "data error2", Toast.LENGTH_LONG).show(); 
       } 

所以這是我如何正確保存我的數據。 但問題是當我插入我的圖像時,它插入新行中不插入與標題相同的行。 有什麼辦法可以解決這個問題嗎?

回答

1

如果要編輯已存在行的某些列數據,則需要使用UPDATE查詢。每次執行INSERT查詢時,它都會創建一個新行。

一旦插入標題和內容,然後在插入圖像路徑的下一個查詢中,您正在執行INSERT查詢兩次。相反,在保存圖像路徑時,應該對保存相應數據的同一行執行UPDATE查詢。

使用LIKE而不是=運算符。

// updating row 
db.update(TABLE, tempval , "title LIKE ?", new String[] { myarray.arrtitle[j] }) 
+1

謝謝。所以我不得不使用這個:mydb.update(「news」,tempval,「where _id =」+ j +'「',null); –

+0

是的......! –

+0

謝謝。 。更新查詢它不工作 –