更新查询在sqlite数据库中不起作用

时间:2014-02-28 08:50:37

标签: android sql database sqlite

拥有包含各种表格的数据库。我需要更新table1中的String值。

我在activity1.And中有一个字符串。它将String值从Activity1.Like传递给DBhelper。

private void goTokey() {

        check="premium";
        dbHelper=new DBHelper(this);
        dbHelper.sample(check);
}

我在DBHelper中得到了一个值,我需要在table1中的数据库中更新该值。

DBHelper.class

public  void sample( String prms) {
        Log.d("DBHELPER SUCCESS", prms);

        try{
            SQLiteDatabase db1 = this.getWritableDatabase(); 
            db1.execSQL("update table1 SET status = '"+prms+"' WHERE id = 1 ");
        }catch(Exception e){
            System.out.println("GET SAMPLE VALUE"+e);
        }
    }

供DBHelper.class view here

参考

我的语法有什么问题?

我从某些地方得到了这样的例外......

02-28 12:09:45.604: I/System.out(4975): GET SAMPLE VALUEandroid.database.sqlite.SQLiteException: table report already exists (code 1): , while compiling: create table report(level TEXT, topic TEXT,  start TEXT, end TEXT, date TEXT)

如何实现这一点将值更新到数据库中?

1 个答案:

答案 0 :(得分:0)

从此更改

public  void sample( String prms) {
        Log.d("DBHELPER SUCCESS", prms);

        try{
            SQLiteDatabase db1 = this.getWritableDatabase(); 
            db1.execSQL("update table1 SET status = '"+prms+"' WHERE id = 1 ");
        }catch(Exception e){
            System.out.println("GET SAMPLE VALUE"+e);
        }
    }

到这个

public  void sample( String prms) {
        Log.d("DBHELPER SUCCESS", prms);
        try
        {
         ContentValues content =new ContentValues();
            content.put(STATUS, prms);
            long l= myDataBase.update(APP_TABLE, content,null, null);
            System.out.print("HELLO NEW INSER CODE----"+l);
        } catch(Exception e){
            //System.out.println("NO UPDATE IN APPSTATUS");
        }
    }