2015-09-05 86 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

谢谢。 。更新查询它不工作 –