android - SQLiteDatabase 插入函数返回 -1

标签 android sqlite insert

我有一个名为 Medicine 的数据库,其中有四列:id(主键自增)、dId(外键)、Name 和 Time。我尝试使用插入功能添加新行。此函数必须返回此添加的 id。但是当我从调试器检查它时,我看到它返回了 -1。

代码:

        ContentValues values = new ContentValues();
        values.put("RECIPE_ID", recipeId);
        values.put("MED_NAME", etMedName.getText().toString());
        values.put("MED_TIME", etMedTime.getText().toString());
        long mid = sqdb.insert("Medicine", null, values);

最佳答案

使用

 long mid = 0;

try
    {
        mid = sqdb.insertOrThrow("Medicine", null, values);
    }
    catch(SQLException e)
    {
        // Sep 12, 2013 6:50:17 AM
        Log.e("Exception","SQLException"+String.valueOf(e.getMessage()));
        e.printStackTrace();
    }

它会告诉你可能的异常

关于android - SQLiteDatabase 插入函数返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18753746/

相关文章:

sql - 特定插入后的 T-SQL 触发器

java - 如何确保 arrayadapter 不接受重复值

python - 从 sqlite 表中提取项目以在 Python 中使用时遇到问题

sql - 带有子句 : nesting trees

iphone sqlite 静态链接?

sql - INSERT ... 在发生冲突时什么都不做 - 读取 csv 并生成外键表

java - 极慢的 Netezza(数据库)批量插入

java - android-如何更改滑动选项卡的默认位置

java - 安卓 keystore

android - 无法在 Google Cloud Console 启用 "Google Cloud Messaging for Android"