Android sqlight problem always null

Posted by yoav.str on Stack Overflow See other posts from Stack Overflow or by yoav.str
Published on 2010-06-18T14:10:09Z Indexed on 2010/06/18 14:13 UTC
Read the original article Hit count: 292

Filed under:
|

every time i am using the db its null and i just dont get it i use this code for the SQL when I have quarry :

public class GameSQLHelper {

    static final String[] COUNTRIES = new String[] {
        "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra"
         };

    private static final String DB_PATH = "/countryCityGame/databases/";
    private static final String DATABASE_NAME = "events.db";
    private static final int DATABASE_VERSION = 1;
    private final Context mCtx;
    // Table name
    public static final String TABLE = "myDataBase";

    // Columns
    public static final String LETTER = "letter";
    public static final String TYPE = "type";
    public static final String VALUE = "value";

    //my database
    SQLiteDatabase myDataBase;


     private static class DatabaseHelper extends SQLiteOpenHelper {

            private static final String TAG = null;

            DatabaseHelper(Context context) {
                super(context, DATABASE_NAME, null, DATABASE_VERSION);
            }

            @Override
            public void onCreate(SQLiteDatabase db) {
                String sql = "create table " + TABLE + "( " + BaseColumns._ID
                + " integer primary key autoincrement, " + LETTER  + " text not null, "
                + TYPE + " text not null," + VALUE + " text not null );";
                Log.d("EventsData", "onCreate: " + sql);
                db.execSQL(sql);
                insertValuesToDB(db);

            }
            private void insertValuesToDB(SQLiteDatabase db) {


                if (db == null){

                }
                else{
                db.execSQL("INSERT INTO "

                                                + TABLE

                                                + " ("+LETTER+","+ TYPE +"," + VALUE +")"

                                                + " VALUES ('A', 'country', 'Angola');");

                  ContentValues initialValues = new ContentValues();


                  for (int i = 0 ; i < COUNTRIES.length ; i++){

                      Character tmp = (Character)COUNTRIES[i].charAt(0);

                      initialValues.put(VALUE, COUNTRIES[i]);
                      initialValues.put(TYPE, "country");
                      initialValues.put(LETTER,tmp.toString(tmp));

                  db.insert(TABLE, null, initialValues);
                  }
                }
            }
            @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
                        + newVersion + ", which will destroy all old data");
                db.execSQL("DROP TABLE IF EXISTS notes");
                onCreate(db);
            }

        }

        /**
         * Constructor - takes the context to allow the database to be
         * opened/created
         * 
         * @param ctx the Context within which to work
         */
        public GameSQLHelper(Context ctx) {
            this.mCtx = ctx;
        }





        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (oldVersion >= newVersion)
            return;

        String sql = null;
        if (oldVersion == 1) 
            sql = "alter table " + TABLE + " add note text;";
        if (oldVersion == 2)
            sql = "";

        Log.d("EventsData", "onUpgrade  : " + sql);
        if (sql != null)
            db.execSQL(sql);
    }

     public void openDataBase() throws SQLException{

            //Open the database
            String myPath = DB_PATH + DATABASE_NAME;
            myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);

        }


        public boolean existInDataBase(String serchStr ){

            Cursor c = null ;
            try{
            openDataBase();
            c =  myDataBase.query(true, TABLE, new String[] {TYPE
                    }, VALUE + "=" + serchStr, null,
                    null, null, null, null);
            }
            catch(Exception e){
                Log.d("sqlExacption", e.getMessage());

            }
            if (c == null) 
                return false;

            return true;
        }

}

whenever i call this class (i hold an instace of him initialized : mDbHelper = new GameSQLHelper(this); where this is an activity )

i always get my mDbHelper as null how can i change it , its my first time working with sql outside of mysql platform so i am kind of having problmes understanding tje concept , and the android notepad example didnt help me .

© Stack Overflow or respective owner

Related posts about android

Related posts about system.data.sqlite