используя заявление об обновлении в SQLite в Android - PullRequest
4 голосов
/ 09 ноября 2011

Я хочу обновить строку в 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 ]

9 голосов
/ 09 ноября 2011

Вы можете обновить его, используя этот код:

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);
4 голосов
/ 15 января 2014

Попробуй это.Это может быть полезно для вас

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);
3 голосов
/ 31 октября 2012

эта ссылка полезна для этого типа запроса (String whereClause, String [] whereArgs)

2 голосов
/ 23 июля 2015

используйте этот код

public void updatefriendpic(String fuid, String temp, String temp1) {

        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(THUMB_FRIEND, temp);
        values.put(CONTENT_FRIEND, temp1);
        // update Row
        db.update(TABLE_FRIEND_LIST,values,"_id = '"+fuid+"'",null);
        db.close(); // Closing database connection
        Log.d(TAG, "New user update into sqlite: ");

    }
0 голосов
/ 21 июля 2013
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;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...