我需要你帮我。我想在RecyclerView中通过SwipeToDelete删除数据库中的数据。
我已经有了一个从RecycleView中删除项目的Swipe类,我可以从该列表中删除项目,但不能从数据库中删除。
我尝试在NoteAdapater(回收器适配器)中调用数据库,并使用removeItem(int-position)方法删除所需的项,如下所示:
public void removeItem(int position){
db.deleteNote(position);
noteList.remove(position);
notifyItemRemoved(position);
}
这是Main Active代码:
public class MainActivity extends AppCompatActivity {
RecyclerView recyclerView;
NoteAdapter adapter;
List<Note> myList;
FloatingActionButton fab;
DBHelper db = new DBHelper(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
initializeViews();
myList = db.getAllNotes();
adapter = new NoteAdapter(this,myList);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
recyclerView.setAdapter(adapter);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
addNewNote();
}
});
ItemTouchHelper.Callback callback = new Swipe(adapter);
ItemTouchHelper helper = new ItemTouchHelper(callback);
helper.attachToRecyclerView(recyclerView);
}
删除数据的数据库代码:
public void deleteNote(int note){
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_NAME, KEY_ID + " = ?",new String[] {String.valueOf(note)});
}
您的问题在这里db.deleteNote(位置);
您的查询表明您正在删除一个id等于传递参数deleteNote(int note)
的项目。
所以你需要做的是传递一个音符id,而不是一个位置。类似于:
db.deleteNote(noteList.get(position).getId());
我制作了一个JTable,其中填充了数据库中的数据。它从textfields中获取数据并将其添加到表和数据库中。问题是我有一个删除按钮,我让它从表本身删除选定的行(使用defaultTableModel),但它不会从实际的数据库中删除该数据。当我再次运行该程序时,删除的行再次出现在JTable中。 这可能会变得混乱,但希望有人能找出我错过了什么。帮助将会很感激,但不要,我的时间很少,不能完全大修我
我正试图从数据库中删除一行,但得到以下错误
我有一个jsp网页。我需要删除用户名从数据库当我按删除按钮从网页。我尝试了下面的代码,但是我不能删除名称,而是在用户名数据库中插入一个新行和一个空值。 unblockServlet.java: 受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{//TODO自动生成的方法
我想从数据库中删除一条特定的记录。
我是JSP的新手,我正在尝试创建一个web界面,用户可以在该界面中输入他们想要删除的信息,并且该信息将在数据库表中删除。 在这里,他们应该输入和,然后应该删除具有两个指定ID的任何数据。但是,它不是从表中删除的。我有个例外 数组索引越界 下面是我的代码:
问题内容: 我需要从数据库中删除重复的行。我可以用简单的SQL查询吗?如果没有,请告诉我一些快速算法。 例子: 我需要删除ID为2的行(或3,无论如何,它们是相等的,但不能同时都是)。谢谢你的帮助 问题答案: 正如评论中指出的那样,如果连续出现三遍,则此操作将无效。您可以重复运行此(繁重的)查询,直到停止删除内容为止,或者等待更好的答案…