我在 SQlite 中创建了一个名为 Ord 的表,其架构为:
sqlite> .schema
CREATE TABLE Ord (
int _id,
text Name
);
我使用名为 insert_by_id 的函数和代码:
public void insert_by_id(int id){
ContentValues contentValues = new ContentValues();
contentValues.put(KEY_ID, id);
db.insert(TABLE_NAME2, null, contentValues);
}
当然:私有(private)静态最终字符串TABLE_NAME2 = "Ord"; 和:公共(public)静态最终字符串KEY_ID =“_id”;
但是当我尝试将它与 onClick 事件一起使用时,我收到错误:
*01-11 02:13:38.622: E/Database(424): android.database.sqlite.SQLiteException: 表 Ord 没有名为 _id: 的列,编译时:INSERT INTO Ord(_id) VALUES(?) ;*
我想按 id 数据插入的部分是这样的:
plus[i].setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Salad_Num[k]++;
mySQLiteAdapter.insert_by_id(Salad_Num[k]);
quant.setText(""+Salad_Num[k]);
}
});
我想没有错字,只要我在这里搜索了类似的答案,他们都在代码中创建数据库,而不是在尝试运行项目之前。
最佳答案
SQL语法错误!您正在尝试创建数据类型为“名称”的列“文本”。检查下面的正确语法,我猜你已经修复了它。
CREATE TABLE Ord (
int _id,
Name text
);
关于java - 表 Ord 没有名为 _id 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8812607/