sqlite 中单引号的处理

数据库表名      student

数据库表内容    id     name      class

                          1       li'ming    2

方法1:  双引号括起单引号

sql语句 :  select * from student where name == "li'ming"

方法2 : 单引号替换成两个单引号

sql语句 :  select * from student where name == 'li''ming'

private void showEditDialog(Address address, int position) { // 创建和显示弹窗 EditAddressDialog dialog = new EditAddressDialog(address); dialog.show(getSupportFragmentManager(), "edit_address_dialog"); dialog.setOnEditAddressListener(new EditAddressDialog.OnEditAddressListener() { @Override public void onEditAddress(Address newAddress) { // 执行修改操作 // ... editAddress(newAddress, position); } }); } private void deleteAddress(Address address, int position) { // 获取要删除的姓名 String name = address.getName(); // 构造 WHERE 子句,注意在字符串需要将单引号转义 String whereClause = "GConsignee='" + name.replace("'", "''") + "'"; // 执行删除操作 int deletedRows = db.delete("address", whereClause, null); if (deletedRows > 0) { // 删除成功 // 在列表移除该项 mAdapter.mAddresses.remove(position); mAdapter.notifyItemRemoved(position); } else { // 删除失败 // 提示用户删除失败 Toast.makeText(this, "删除失败", Toast.LENGTH_SHORT).show(); } } private void editAddress(Address newAddress, int position) { String whereClause = "id = ?"; String[] whereArgs = {String.valueOf(newAddress.getId())}; ContentValues values = new ContentValues(); values.put("GConsignee", newAddress.getName()); values.put("GAddress", newAddress.getAddress()); db.beginTransaction(); // 开始事务 try { db.update("address", values, whereClause, whereArgs); db.setTransactionSuccessful(); // 标记事务完成 } catch (Exception e) { e.printStackTrace(); } finally { db.endTransaction(); // 提交事务或回滚 } // 更新成功后,刷新列表 Address address = mAdapter.mAddresses.get(position); address.setName(newAddress.getName()); address.setAddress(newAddress.getAddress()); mAdapter.notifyItemChanged(position); } //查询地址 private void searchList() { // 执行查询并返回 Cursor 对象 Cursor cursor = db.query( "address", // 表名 null, // 要查询的列名数组,设为 null 则查询所有列 代码解释
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从一而终

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值