내 안드로이드 프로젝트에서 sqlite를 사용하여 DB를 만들려고했는데 왜이 msg 오류가 "no such table"인지 이해하지 못합니다. S는 DB를 훌륭하게 만들 수 있다고 생각했습니다. 어떤 도움이 필요합니까?ANDROID sqlite 해당 테이블이
여기 내 코드 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를 안드로이드 .database.sqlite.SQLiteException : 해당 테이블 없음 : usuarios, 컴파일 중 : INSERT INTO usuarios (password, user) 값 (?,?);
미리 감사드립니다.
onCreate()에서 테이블을 변경하면 데이터베이스 버전을 늘려야합니다 –
stacktrace를 게시 할 수 있습니까? 또한 테이블 생성 SQL 문에서 IF NOT EXISTS를 삭제하십시오. – Emmanuel
무엇을 의미합니까? 내가 존재하지 않는 경우에만 테이블을 만들고 있습니까? – tknbr