DatatypeMismatchError - 插入内容提供程序 - SQLite

时间:2013-03-04 08:09:59

标签: android sqlite android-contentprovider

无法插入使用SQLite数据库的内容提供程序。

只是尝试使用两列{key}和{+ 1}来实现一个简单的键值表。

相关代码和堆栈跟踪。

TEXT

追踪开始:

// SQL for creating database
private static final String DATABASE_CREATE =
        "CREATE TABLE IF NOT EXISTS " + TABLE_NAME + " (" + KEY +
        " TEXT, " + VALUE + " TEXT);";

// The insert method
@Override
public Uri insert(Uri uri, ContentValues values) {
    SQLiteDatabase mdb = mdbHelper.getWritableDatabase();

    long key = mdb.insert(MessagesDbHelper.TABLE_NAME, null, values);
    mdb.close();

    return Uri.parse(URI + "/" + key);
}

// The insert test
private boolean testInsert() {
    try {
        for (int i = 0; i < TEST_CNT; i++) {
            mContentResolver.insert(mUri, mContentValues[i]);
        }
    } catch (Exception e) {
        return false;
    }

    return true;
}

// initializes content values for insert test
private ContentValues[] initTestValues() {
    ContentValues[] cv = new ContentValues[TEST_CNT];
    for (int i = 0; i < TEST_CNT; i++) {
        cv[i] = new ContentValues();
        cv[i].put(KEY_FIELD, "key" + Integer.toString(i));
        cv[i].put(VALUE_FIELD, "val" + Integer.toString(i));
    }

    return cv;
}

// static variables
private static final String KEY_FIELD = "key";
private static final String VALUE_FIELD = "value";

0 个答案:

没有答案