2014-02-28 110 views
1

使用各種表具有數據庫。我需要更新table1中的字符串值。更新查詢在sqlite數據庫中不起作用

我在activity1.And中有一個字符串,並將字符串值從Activity1傳遞給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) 

如何實現這個更新值存入數據庫?從這個

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); 
     } 
    } 

+1

發表您的dbhelper類代碼在這裏...有你在dbhelper類中創建構造 – Vamshi

+0

是的,我在這裏檢查的http://引擎收錄.com/fLLwQmsY @Vamshi –

+0

dbhelper中的代碼太多,將該類中的其他代碼單獨添加,只在該類中添加數據庫相關代碼...我覺得某處您每次都調用數據庫創建和表創建代碼.. – Vamshi

回答

0

更改這個

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"); 
     } 
    }