2014-10-25 2 views
0

Привет, ребята, я пробовал этот код, но он не работал .. Я не могу вставить и выбрать из базы данных sqlite android.android sqlite не может вставить и выбрать

Вопрос: Неужели я что-то не так?

Код:

public class Test extends SQLiteOpenHelper { 

private static final String DATABASE_CREATE = "CREATE TABLE PLS (" + 
     "id text, " + 
     "nama text);"; 

public Test(Context context) { 
    super(context, "ABC.db", null, 1); 
    // TODO Auto-generated constructor stub 
} 


@Override 
public void onCreate(SQLiteDatabase db) { 
    // TODO Auto-generated method stub 
    db.execSQL(DATABASE_CREATE); 
    db.execSQL("INSERT INTO PLS VALUES('1', 'dede');"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    // TODO Auto-generated method stub 
    db.execSQL("DROP TABLE IF EXISTS PLS"); 
    onCreate(db); 
} 

public ArrayList<HashMap<String, String>> getUser() { 
    ArrayList<HashMap<String, String>> wordList; 
    wordList = new ArrayList<HashMap<String, String>>(); 
    String selectQuery = "SELECT id, nama FROM PLS"; 
    SQLiteDatabase database = this.getWritableDatabase(); 
    Cursor cursor = database.rawQuery(selectQuery, null); 
    if (cursor.moveToFirst()) { 
     do { 
     HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("id", cursor.getString(0)); 
     map.put("nama", cursor.getString(1)); 
     } while (cursor.moveToNext()); 
    } 
    return wordList; 
} 

public void addUser(String id, String nama) { 
    SQLiteDatabase database = this.getWritableDatabase(); 
    ContentValues values = new ContentValues(); 
    values.put("id", id); 
    values.put("nama", nama); 
    database.insert("PLS", null, values); 
    database.close(); 
    } 
} 

А вот код для вставки и выбора и из SQLite:

controller = new Test(this); 
    user = new ArrayList<HashMap<String,String>>(); 
    controller.addUser("1", "daniel"); 

    user = controller.getUser(); 

    for(int i=0; i<user.size(); i++){ 
     tempMenu = new HashMap<String, String>(); 
     tempMenu = user.get(i); 
     i1.setText(tempMenu.get("id")); 
     i2.setText(tempMenu.get("nama")); 
    } 

ответ

2

Я думаю, что вы код правильный, за исключением, что вы забыли заполнить WordList переменную! , прежде чем вернул его в GetUser() функция ...

if (cursor.moveToFirst()) { 
    do { 
    HashMap<String, String> map = new HashMap<String, String>(); 
    map.put("id", cursor.getString(0)); 
    map.put("nama", cursor.getString(1)); 
    //Here you forgot wordList.add(map); 
    } while (cursor.moveToNext()); 
} 
+0

да, так глупая ошибка .. спасибо очень много брата .. – DanielH

+0

Не беспокойтесь о том, что иногда бывает :) ... – MohamedZaatari

Смежные вопросы