我已经浏览了几个网站的任何有用的文档,并已空出来。来自官方网站的流程图也可能是希腊语,我从本网站上其他相关帖子尝试的例子也给我带来了错误。我正在编写一个简单的应用程序来将用户输入放到数据库中,但是我需要一个两列的组合,以便是唯一的。从我所看到的,这可以通过UNIQUE或PRIMARY KEY来完成。 我还需要一些方法来捕获错误,敬酒用户输入错误。我知道我可以很容易地在Java方面做到这一点,但我不希望循环遍历每个建议插入的表。SQLite创建表与列的唯一组合
这是我到目前为止有:
db.execSQL("CREATE TABLE inventory (category TEXT, itemNum TEXT, quantity INTEGER, price REAL, image INTEGER, UNIQUE(category, itemNum) ON CONFLICT FAIL;");
,直到我说UNIQUE正确构建表格...
哪个扔: ERROR/SQLiteOpenHelper(1037):android.database.sqlite .SQLiteException:邻近 “;”:语法错误:CREATE TABLE库存(类TEXT,itemNum TEXT,数量INTEGER,价格REAL,图像INTEGER,约束unq UNIQUE(类别,itemNum)关于冲突失败;
编辑:
...填充ContentValues值与用户输入。
try{
db.getWritableDatabase().insert(DatabaseHelper.TABLE_NAME, DatabaseHelper.CATEGORY, values);
fillItemNumbers(); // Updates screen
}
catch(SQLiteConstraintException e)
{
Toast
.makeText(this, "User error",Toast.LENGTH_LONG)
.show();
}
Facepalm!我现在回到我的程序员卡,悄悄地退到角落里。 – AnthonyW 2012-03-29 14:36:56
关于第二个问题的任何想法?我还需要一些捕获错误的方法来向用户表示他们的输入有故障 – AnthonyW 2012-03-29 14:37:37
当然,添加到我的答案。 – 2012-03-29 14:38:38