hello im newbie in android studio, i have 2 tables DB, first table is budaya and second sejarah. When i try insert data to tables budaya using values put its work, but when i want to insert data to table sejarah the data it doesnt show up, please help me.
here is my bad code
public class Database extends SQLiteOpenHelper{
final static String DB_NAME = "db_budaya";
public Database(Context context) {
super(context, DB_NAME, null, 8);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE IF NOT EXISTS budaya(_id INTEGER PRIMARY KEY AUTOINCREMENT, nama TEXT, kategori TEXT, deskripsi TEXT, img BLOB)";
db.execSQL(sql);
String sql1 = "CREATE TABLE IF NOT EXISTS sejarah(_id INTEGER PRIMARY KEY AUTOINCREMENT, materi TEXT)";
db.execSQL(sql1);
ContentValues values = new ContentValues();
// Budaya table
values.put("_id", "1");
values.put("nama", "Suhunan Jolopong");
values.put("kategori", "Rumah Adat");
values.put("deskripsi", "Suhunan Jolopong, yaitu bentuk bangunan yang atapnya (suhunan) memanjang, sering disebut suhunan panjang atau gagajahan. Bentuk Jolopong sendiri memiliki dua bidang atap. ");
values.put("img", R.drawable.imv_rumahadat_joloponggagajahan);
db.insert("budaya", "_id", values);
ContentValues values1 = new ContentValues();
// Sejarah table
values.put("_id", "1");
values.put("materi", "Hello world");
db.insert("sejarah", "_id", values1);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS budaya");
onCreate(db);
db.execSQL("DROP TABLE IF EXISTS sejarah");
onCreate(db1);
}
}
Please help, Thanks.
You instantiate values1
as the ContentValues
object to use to insert the new row in sejarah
but you use values
which contains the values for the table budaya
.
Also there is no need to pass a value for the auto incremented column:
ContentValues values1 = new ContentValues();
values1.put("materi", "Hello world");
db.insert("sejarah", null, values1);