SQLテーブルから特定の行を削除するにはどうすればよいですか? 私はリストビューをSQLテーブルから移入しました。例えば。テーブルに5つのレコードがあり、リストビューにもあります。リストビューの3番目の項目をクリックすると、SQLテーブルから3番目のレコードを削除します。行IDは行番号とは異なるので、もちろん疑問から外れます。このためのSQL構文は何ですか?sqlから特定の行を削除する(sqliteでAndroidを使用)
これは私の移入クエリです:
public Cursor getAllTitles() {
String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS};
return ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);}
と私の削除クエリ:
public void deleteEntry(int lRow1) {
ourDatabase.delete(DATABASE_TABLE, KEY_ROWID + "=" + lRow1, null);}
これは私がArrayListのにカーソルを置く方法です:
Cursor c = info.getAllTitles();
if (c.moveToFirst())
{
do{
todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2));
}while (c.moveToNext());
}
textView1です私のリストビューレイアウトのTextViewのid。
holder.textView.setOnClickListener(新View.OnClickListener(){
@Override
public void onClick(View v) {
TextView tv = (TextView) v ;
String text_of_clicked_textview = tv.getText().toString();
selected_row_num = (Integer)v.getTag();
Log.i("TAG", "" + text_of_clicked_textview + selected_row_num);
}
});
私はListViewコントロールの3番目の項目をクリックすると、私はログインしてlogcatにITEM2を得る:そして、これは私のsetOnClickListenerです。私getAllTitlesで。
私は(当分の間)にもKEY_ROWIDを取得する()クエリが、これは私がクリックされた項目の行番号が必要、のTextViewのテキストにすることはできませんので、。
すべて私は3番目を削除するdeleteEntryクエリを変更する必要がありますアイテム。
とIDにアクセスすることができます。アイテムはarraylistに格納され、arraylistはlistviewのアダプタに設定されます。だから、私は自分のlvをレコードセットに直接バインドしませんでした。 – erdomester