You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio点击按钮向SQLite插入客户测量数据失败求助

问题根因及修复方案

核心错误:插入结果判断逻辑写反

SQLiteDatabase.insert() 方法的返回值规则为:

  • 插入成功时返回新记录的行ID,是大于0的正整数
  • 插入失败时返回-1

你现有代码中判断逻辑完全颠倒:插入成功时r≠0返回false,插入失败时才返回true,所以即使数据实际插入成功,也会弹出失败提示。

潜在问题

  • 如果之前修改过CUSTOMER表的字段结构但未升级数据库版本,旧表字段缺失也会导致插入失败,可将MyHelper中的version常量值加1触发表结构重建。
  • 未做输入非空校验,若用户输入的姓名、手机号等字段为空,也可能触发插入异常。

修复后代码示例

MyHelper#insert_data方法修改

public Boolean insert_data(String name1, String phoneno1,String lenght1,String teera1,String bazu1,String chati1,String qamar1,String shalwar1,String paincha1,String gheera1,String front1,String side1,String hip1,String ban1,String collar1,String zip1,String t_paincha1,String others1) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues c = new ContentValues();
    long r = -1;
    try {
        c.put("NAME", name1);
        c.put("PHONENO", phoneno1);
        c.put("LENGHT", lenght1);
        c.put("TEERA", teera1);
        c.put("BAZU", bazu1);
        c.put("CHATI", chati1);
        c.put("QAMAR", qamar1);
        c.put("SHALWAR", shalwar1);
        c.put("PAINCHA", paincha1);
        c.put("GHEERA", gheera1);
        c.put("FRONT", front1);
        c.put("SIDE", side1);
        c.put("HIP", hip1);
        c.put("BAN", ban1);
        c.put("COLLAR", collar1);
        c.put("ZIP", zip1);
        c.put("T_PAINCHA", t_paincha1);
        c.put("OTHERS", others1);
        r = db.insert("CUSTOMER", null, c);
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    }
    // 修改判断逻辑:返回值大于0代表插入成功
    return r > 0;
}

Add_Customer添加入参校验

在调用insert_data前增加必填项校验:

// 获取所有输入参数后先校验必填项
if (customername.trim().isEmpty() || phoneno.trim().isEmpty()) {
    Toast.makeText(Add_Customer.this, "姓名和手机号为必填项", Toast.LENGTH_SHORT).show();
    return;
}
Boolean i= myhelper.insert_data(customername,phoneno,lenght,teera,bazu,chati,qamar,shalwar,paincha,"7","7","7","7","7","7","9","9",others);

内容的提问来源于stack exchange,提问作者Atif Murtaza 2311

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:15:04