mercredi 6 janvier 2016

check if table is empty, if not empty update field sqllite android?

I am learning sqllite for android, but I cannot understand. I create database handler like this :

public class DatabaseHandler extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "BookMyFitManager";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_LANGUAGE = "language";
// Contacts Table Columns names
private static final String LANGUAGE_ID = "languageid";
public DatabaseHandler(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_LANGUAGE + "("
            + LANGUAGE_ID + " INTEGER PRIMARY KEY"+ ")";
    db.execSQL(CREATE_CONTACTS_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Drop older table if existed
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_LANGUAGE);

    // Create tables again
    onCreate(db);
}
void addLanguage(String language) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(LANGUAGE_ID, language);
    // Inserting Row
    db.insert(TABLE_LANGUAGE, null, values);
    db.close();
}
public int updateLanguage(String language) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(LANGUAGE_ID, language);

    // updating row
    return db.update(TABLE_LANGUAGE, values, LANGUAGE_ID + " = ?",
            new String[] { String.valueOf(language) });
}
public boolean checkForTables(){

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery("SELECT COUNT(*) FROM " +TABLE_LANGUAGE, null);

    if(cursor != null){

        cursor.moveToFirst();

        int count = cursor.getInt(0);

        if(count > 0){
            return true;
        }

        cursor.close();
    }
    return false;
}

}

I put this on activity :

DatabaseHandler db = new DatabaseHandler(this);
db.checkForTables();

But did not work. The basic is I create a toggle button, when it is on it sends 1 as parameter, when it is off it sends 2 as parameter. After that I want to send the parameter to database as language_id (string language on above code addlanguage or updatelanguage).

How to check if table is empty? And How to update if table not empty? (from activity).

How to call LANGUAGE_ID in another activity? Use code below ?

db.openDataBase();
final String lang_id = db.getLanguageid();
db.close();

Aucun commentaire:

Enregistrer un commentaire