我想在sqlite中更新一行。我的查询看起来像这样
update name="aaa",publisher="ppp",price="111" where bookid=5 and booktype="comic"
我想使用以下更新命令进行更新。
int android.database.sqlite.SQLiteDatabase.update(String table, ContentValues values, String whereClause, String[] whereArgs)
“whereClause”和“whereArgs”的参数应该是什么。我在互联网上搜索,但我没有得到相关的例子。请帮我。
答案 0 :(得分:9)
您可以使用以下代码进行更新:
<强> DatabaseCreator.class:强>
public class DatabaseCreator extends SQLiteOpenHelper{
private static final String DB_NAME="database_name";
private static final int DB_VER=1;
private static final String TABLE_NAME="<table creation query>";
public DatabaseCreator(Context context) {
super(context,DB_NAME, null, DB_VER);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(TABLE_NAME);
}
@Override
public void onUpgrade(SQLiteDatabase database, int arg1, int arg2) {
database.execSQL("DROP TABLE IF EXISTS table_name");
onCreate(database);
}
}
现在使用以下代码来更新行:
DatabaseCreator dbcreator=new DatabaseCreator(context);
SQLiteDatabase sqdb=dbcreator.getWritableDatabase();
ContentValues values=new ContentValues();
values.put("name","aaa");
values.put("publisher","ppp");
values.put("price","111");
int id=sqdb.update("table_name",values,"bookid='5' and booktype='comic'",null);
答案 1 :(得分:4)
试试这个。它可能对你有所帮助
db.execSQL("UPDATE DB_TABLE SET YOUR_COLUMN='newValue' WHERE id=6 ");
或
ContentValues newValues = new ContentValues();
newValues.put("YOUR_COLUMN", "newValue");
或
ContentValues newValues = new ContentValues();
newValues.put("YOUR_COLUMN", "newValue");
String[] args = new String[]{"user1", "user2"};
db.update("YOUR_TABLE", newValues, "name=? OR name=?", args);
答案 2 :(得分:3)
this链接对此类查询很有用(String whereClause,String [] whereArgs)
答案 3 :(得分:2)
使用此代码
// NSData
init?(contentsOfURL url: NSURL)
// NSString
convenience init?(contentsOfURL url: NSURL, encoding enc: UInt, error: NSErrorPointer)
答案 4 :(得分:0)
public boolean updateStopnameOfRute(String route,String stopname,int sequence)
{
DATABASE_TABLE = "tbl_Stop";
ContentValues contentvalue=new ContentValues();
contentvalue.put("stop_name", stopname);
return db.update(DATABASE_TABLE, contentvalue, "route_name='"+route+"'" +"and"+ "stop_sequence="+sequence, null)>0;
}