【问题标题】:Insert int type variable from EditText into SQL Database in Android将 EditText 中的 int 类型变量插入 Android 中的 SQL 数据库
【发布时间】:2019-08-12 07:05:30
【问题描述】:

我有一个 EditText,我想在我的数据库中插入一个 int 类型变量。如果我插入一个数字,一切正常。但如果我将 EditText 留空,应用程序就会崩溃。这是处理此问题的代码,我认为这是 Integer.toString() 问题或类似问题。

int target;

if (targetNumber.getText().toString().isEmpty()) {
        target = Integer.parseInt("");
    } else {
        target = Integer.parseInt(targetNumber.getText().toString());
    }

【问题讨论】:

    标签: android sql string android-edittext integer


    【解决方案1】:

    您不能将 "" 解析为 int。例如,您可以存储 0

    int target;
    
    if (targetNumber.getText().toString().isEmpty()) {
        target = 0;
    } else {
        target = Integer.parseInt(targetNumber.getText().toString());
    }
    

    【讨论】:

    • 谢谢,但是在这种情况下,我不是在数据库中的相应行中添加了0吗?我的目标是让它空着
    • 那么你不应该在 targetNumber.getText().toString().isEmpty() 的情况下将数据写入你的数据库
    • 如何设置“不写数据”条件?
    • 很遗憾,我帮不了你。我还没有看到你的完整代码
    • 但是我不能将空字符串的模拟传递给 int 吗?
    【解决方案2】:

    替换这个

     target = Integer.parseInt("");
    

    target = 0;
    

    【讨论】:

      【解决方案3】:

      如果您想使用三元运算符:

      int target = targetNumber.getText().toString().isEmpty() ? 0 : Integer.parseInt(targetNumber.getText().toString())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-09
        • 2017-03-16
        相关资源
        最近更新 更多