Java E/SQLiteLog:(1)表keyTable没有名为number的列
我不断地发现这个错误: “表keyTable没有名为number的列” 对于Android来说还是很新的,所以不知道为什么会发生这种情况,有人能发现错误吗 这是我的数据库类:Java E/SQLiteLog:(1)表keyTable没有名为number的列,java,android,database,Java,Android,Database,我不断地发现这个错误: “表keyTable没有名为number的列” 对于Android来说还是很新的,所以不知道为什么会发生这种情况,有人能发现错误吗 这是我的数据库类: public class KeyDatabase extends SQLiteOpenHelper { private static final String database_name = "KeyDatabase.db"; private static final int database_versio
public class KeyDatabase extends SQLiteOpenHelper {
private static final String database_name = "KeyDatabase.db";
private static final int database_version = 1;
KeyDatabase (Context context){
super(context,database_name,null,database_version);
}
@Override
public void onCreate (SQLiteDatabase db){
db.execSQL("CREATE TABLE " + KeyTableClass.table_name
+ "(" + KeyTableClass.id + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ KeyTableClass.number + " TEXT, "
+ KeyTableClass.key + " TEXT);");
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
db.execSQL("DROP TABLE IF EXISTS " + KeyTableClass.table_name);
onCreate(db);
}
public long InsertKey (String number, String key){
ContentValues valuesToInsert = new ContentValues();
valuesToInsert.put(KeyTableClass.number, number);
valuesToInsert.put(KeyTableClass.key, key);
SQLiteDatabase sd = getWritableDatabase();
long result = sd.insert(KeyTableClass.table_name, KeyTableClass.number, valuesToInsert);
return result;
}
这是我桌子上的课:
public class KeyTableClass {
//The name of the table
public static final String table_name = "keyTable";
//The columns of the table
public static String id = "id";
public static String number = "number";
public static String key = "key";
}
您不符合以下条件:
在API级别1中添加了将行插入到
数据库
参数表要插入行的表
nullColumnHack可选;可能为空。SQL不允许插入
完全空行,但不命名至少一个列名。如果你的
提供的值为空,不知道列名,且为空行
无法插入。如果未设置为null,则为nullColumnHack参数
提供可为NULL的列名的名称以显式插入NULL
在值为空的情况下输入。此映射包含的值
行的初始列值。键应该在列中
名称和值列值返回新
插入的行,如果发生错误,则为-1
你能试着做:
sb.insert(表名称,空,值插入)代码>也许您在创建时编辑了DBonCreate
,但不让它重新运行?
尝试卸载/安装应用程序,或将数据库\u版本更新为=2。进行了更改,因此现在我有了这一行:long result=sd.insert(KeyTableClass.table\u name,null,valuesToInsert);我似乎仍然理解错误,我可能误解了你说的话。
public long insert (String table, String nullColumnHack, ContentValues values)