拥有包含各种表格的数据库。我需要更新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)
如何实现这一点将值更新到数据库中?
答案 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");
}
}