【问题标题】:why sqlitedatabase.insert return -1?为什么 sqlitedatabase.insert 返回 -1?
【发布时间】:2023-03-27 21:10:01
【问题描述】:

我正在编写我的第一个应用程序,并且我也在尝试合并一个数据库, 为什么 sqlitedatabase 插入方法返回 -1 ??? 我很困惑...

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "MyDatabase";
private static final String TABLE_CONTACT = "contact";
private static final String id_col = "id";
private static final String name_col = "name";
private static final String ph_num_col = "phone_number";

public static final String CREATE__TABLE_contact=
        "CREATE TABLE " + TABLE_CONTACT + " (" +
                id_col + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                name_col + " TEXT, " +
                ph_num_col + " TEXT" + ")";
public SqliteDatabaseHelper(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}


@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
    //sakhte table haye morede niaz....
    sqLiteDatabase.execSQL(CREATE__TABLE_contact);
}

.................................................. ......

public void addContact(Contact contact){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put("name",contact.getName());
    values.put("phone_number",contact.getPhone_number());

    Long test = db.insert(TABLE_CONTACT, null, values);
    if(test==  -1) {
        Log.i("insert", ""+test);
    }
    db.close();

}

【问题讨论】:

  • 你能提供日志跟踪吗?
  • -1 表示在数据库中插入新行时发生错误。您需要提供更多详细信息:例如具体的 SQL 错误。看看你的 logcat
  • 尝试使用 _id 而不是 id 作为列名,stackoverflow.com/questions/3192064/…
  • 使用insertOrThrow

标签: android sqlite insert android-sqlite


【解决方案1】:

请确保您在 AndroidManifest.xml 文件中定义了您的内容提供程序子类。请找到以下示例代码。 (您必须根据您的应用程序进行更改。)

<provider
    android:name="com.example.app.MyDataBase"
    android:authorities="com.example.app"
    android:exported="false">
</provider>

请参考安卓开发者页面,link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-14
    • 2012-01-25
    • 2012-03-05
    • 2017-06-04
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多