I have problem in Android im using sqlite I've create my database
public class DBHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "appnotas";
public static final int DB_SCHEME_VERSION = 1;
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_SCHEME_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DBManager.CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
here's my DBManager, in the part with null, null, null its because i dont need that but if i dont put it i have android remark like an error
public class DBManager {
public static final String TABLE_NAME = " notas";
public static final String ColumnNameId = "_id";
public static final String ColumnNameTitulo = "_titulo";
public static final String ColumnNameContenido = "_contenido";
public static final String CREATE_TABLE = "CREATE TABLE" + TABLE_NAME + "("
+ ColumnNameId + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ ColumnNameTitulo + " TEXT NOT NULL,"
+ ColumnNameContenido + " TEXT)";
public DBHelper helper;
public SQLiteDatabase db;
public DBManager(Context context) {
helper = new DBHelper(context);
db = helper.getWritableDatabase();
}
public ContentValues generarValores(String titulo, String contenido){
ContentValues valores = new ContentValues();
valores.put(ColumnNameTitulo, titulo);
valores.put(ColumnNameContenido, contenido);
return valores;
}
public void insertar(String titulo, String contenido){
db.insert(TABLE_NAME, null, generarValores(titulo, contenido));
}
public void eliminar(String titulo){
db.delete(TABLE_NAME, ColumnNameTitulo +"=?", new String[]{titulo});
}
public Cursor cargarNotas(){
String[] columnas = new String[]{ColumnNameId,ColumnNameTitulo, ColumnNameContenido};
return db.query(TABLE_NAME, columnas, null, null, null, null, null);
}
}
and my main activity
public class MainActivity extends AppCompatActivity {
private DBManager manager;
private Cursor cursor;
private ListView lista;
private SimpleCursorAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
manager = new DBManager(this);
lista = (ListView) findViewById(R.id.listView);
manager.insertar("Test" ,"it works");
String[] from = new String[]{manager.ColumnNameTitulo, manager.ColumnNameContenido};
int[] to = new int[]{android.R.id.text1, android.R.id.text2};
cursor = manager.cargarNotas();
adapter = new SimpleCursorAdapter(this, android.R.layout.two_line_list_item, cursor, from, to, 0);
lista.setAdapter(adapter);
}
}
But when i try to run this app give me an error
android.database.sqlite.SQLiteException: table notas has no column named _contenido (code 1): , while compiling: INSERT INTO notas(_titulo,_contenido) VALUES (?,?)
i try rename it but didn't work so this make me crazy and i dont know whats the problem, can anyone help me?