在android中使用sqlite中的update语句

时间:2011-11-09 04:24:34

标签: android sqlite

我想在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”的参数应该是什么。我在互联网上搜索,但我没有得到相关的例子。请帮我。

5 个答案:

答案 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;
        }