私はアプリケーションが最初にヘルパークラスを介して開いているときにビルドを取得することができるので、dbfavoritosHelper.insert(favId、favName、favType); ourCursor.requery(); Toad.makeText(getApplicationContext()、 "El medio a sido ausお気に入り!")を削除して問題なく項目を削除しますが、達成したいのは、追加ボタンを押す瞬間ですチェックは既に同じfavIdのアイテムですので、コピーしたいのではないのでコピーしたいのですがコピーを作成したくないので追加したくないので、今のコードは動作していませんここにある:私の主な活動でAndroidのsqlite dbでのダブルエントリの確認方法は?
//this is how I call insert
Button Agrefav = (Button) findViewById(R.id.btnFav);
Agrefav.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if(arrayOfWebData.isEmpty()){
Toast.makeText(getApplicationContext(),
"No hay medio para agregar a favoritos!",
Toast.LENGTH_LONG).show();
}else{
if(!dbfavoritosHelper.find(favId)){
dbfavoritosHelper.insert(favId, favName, favType);
ourCursor.requery();
Toast.makeText(getApplicationContext(),
"El medio a sido a tus favoritos!",
Toast.LENGTH_LONG).show();
}else{
dbfavoritosHelper.update(favId, favId, favName, favType);
ourCursor.requery();
Toast.makeText(getApplicationContext(),
"El medio se a actualizado en tus favoritos!",
Toast.LENGTH_LONG).show();
}
}
}});
//this is how I call delete
dbfavoritosHelper.delete(delId);
delId=null;
ourCursor.requery();
私のヘルパーで
:
//this is how I insert items to table
public void insert(String mId, String mName, String mType) {
ContentValues cv=new ContentValues();
cv.put("medioId", mId);
cv.put("medioName", mName);
cv.put("medioType", mType);
getWritableDatabase().insert("favorito", null, cv);
}
//this is how I'm trying to find if an item already exists in db, but not working
public boolean find(String mId){
try {
getReadableDatabase().rawQuery("SELECT * FROM favorito WHERE favorito.medioId='"+mId+"';", null);
return true;
} catch (SQLException sqle){
return false;
}
}
//this is how I update items
public void update(String id, String mId, String mName, String mType){
ContentValues cv=new ContentValues();
String[] args={id};
cv.put("medioId", mId);
cv.put("medioName", mName);
cv.put("medioType", mType);
getWritableDatabase().update("favorito", cv, "_id=?", args);
}
//this is how I delete them
public void delete(String id){
getWritableDatabase().delete("favorito", "_id=?", new String[] {id});
}
任意の勧告は歓迎され、感謝
しかし、この方法は偽を送信しませんあなたは帰りますか? – zvzej
私は説明を加えました。 – Sam
仕組みを説明してくれてありがとう! – zvzej