我一直在尝试在我的 android 项目中使用 sqlite 创建一个数据库,但不明白为什么我会收到这个消息错误“没有这样的表”:S 我以为我正在创建一个好的数据库。有什么帮助吗?
这是我的代码 handler_sqlite 类:
public class Handler_sqlite extends SQLiteOpenHelper {
public Handler_sqlite(Context ctx)
{
super ( ctx, "MiBase", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db )
{
String query = " CREATE TABLE IF NOT EXISTS usuarios ( user VARCHAR PRIMARY KEY, password VARCHAR );" ;
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int version_ant, int version_post)
{
db.execSQL("DROP TABLE IF EXISTS usuarios");
onCreate(db);
}
public void insertarReg(String user, String password)
{
ContentValues valores = new ContentValues();
valores.put("user", user);
valores.put("password", password);
this.getWritableDatabase().insert("usuarios",null,valores);
}
public void abrir()
{
this.getWritableDatabase();
}
public void cerrar()
{
this.close();
}
public String leer_user ()
{
String columnas[]={"user","password"};
Cursor c = this.getReadableDatabase().query("usuarios",columnas,null,null,null,null,null);
int iu;
iu = c.getColumnIndex("user");
c.moveToLast();
return c.getString(iu);
}
public String leer_password ()
{
String columnas[]={"user","password"};
Cursor c = this.getReadableDatabase().query("usuarios",columnas,null,null,null,null,null);
int ip;
ip = c.getColumnIndex("password");
c.moveToLast();
return c.getString(ip);
}
}
以及我引用 bd 的主要代码:
Handler_sqlite helper = new Handler_sqlite(this);
helper.abrir();
helper.insertarReg(username,passw);
String username2 = helper.leer_user();
String password2 = helper.leer_password();
当前错误:
插入密码时出错= x用户= y android.database.sqlite.SQLiteException:没有这样的表:usuarios,编译时:INSERT INTO usuarios(密码,用户)值(?,?);
提前致谢。