Saturday, December 24, 2011

DbHelper

package emp.management;

import java.util.ArrayList;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabaseCorruptException;
import android.database.sqlite.SQLiteDiskIOException;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteFullException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
/**
 * @author Saiyed sahir Ali
 *
 */
public class DbHelper extends SQLiteOpenHelper
{

    //Main Report Table
    private static final String colBasicSalaryReport="basicSalary",
                                colRemainSalaryReport="remainSalary",
                                colExpensesCostReport="expensesCost",
                                colExpensesTypeReport="expensesType",
                                colExpensesDateReport="date";
   

    //private static final String  colID                 ="employeeID";
    private static final String  colName               ="EmployeeName";
    private static final String  colCompanyName     ="EmpCompanyName";
    private static final String  colPost            ="EmpPost";
    private static final String  colDOB             ="EmpDOB";
   
    //Employ Salary Information 
    //private static final String colEmpSalaryID      ="empSalaryID";
    private static final String colSALARY            ="SALARY";
    private static final String colEXPENSES_TYPE    ="EXPENSES_TYPE";
    private static final String colOTHER_EXPENSES    ="OTHER_EXPENSES";
    private static final String colEXPENSES_COST    ="EXPENSES_COST";
    private static final String colExpensesDate        ="ExpensesDate";
   
    //Expenses Table
    private static final String colExpensesID="expensesid";
    private static final String colExpensesType="expensesType";
   
    private static final String DATABASE_NAME= "EmployDB.db";
    private static final int    DATABASE_VERSION= 1;
   
    public static final String DATABASE_TABLE_NAME_EMP_SALARY="empSalaryInformation";
   
    public static final String DATABASE_TABLE_NAME_EMP_INFO="EmployDetails";
   
    public static final String DATABASE_TABLE_NAME_EXPENSES="expenses";
   
    public static final String DATABASE_TABLE_NAME_REPORT="EmpReport";
   
    private static final String CREATE_TABLE_EMP_REPORT="CREATE TABLE "+DATABASE_TABLE_NAME_REPORT + "("
                                                        +"_ID INTEGER PRIMARY KEY AUTOINCREMENT,"
                                                        +colBasicSalaryReport+" INTEGER,"
                                                        +colRemainSalaryReport+" INTEGER,"
                                                        +colExpensesCostReport+" INTEGER,"
                                                        +colExpensesTypeReport+" TEXT,"
                                                        +colExpensesDateReport+" TEXT"+
                                                        ");";
                                                       
   
    private static final String CREATE_TABLE_EMP_SALARY="CREATE TABLE "+DATABASE_TABLE_NAME_EMP_SALARY+ "("
                                                        +"_id INTEGER PRIMARY KEY AUTOINCREMENT,"
                                                        +colSALARY+" TEXT,"
                                                        +colEXPENSES_TYPE+" TEXT,"
                                                        +colOTHER_EXPENSES+" TEXT,"
                                                        +colEXPENSES_COST+" TEXT,"
                                                        +colExpensesDate+" TEXT"+
                                                        ");";
   
   
   
    private static final String CREATE_TABLE_EMP_INFO = "CREATE TABLE " + DATABASE_TABLE_NAME_EMP_INFO + " ( "
                                                        +"_id INTEGER PRIMARY KEY AUTOINCREMENT,"+
                                                        colName+" TEXT, "
                                                        +colCompanyName+ " TEXT, "
                                                        +colPost+ " TEXT, "
                                                        +colDOB+ " TEXT" +
                                                        " ); ";
   
   
    private static final String CREATE_TABLE_EXPENSES = "CREATE TABLE "+DATABASE_TABLE_NAME_EXPENSES+
                                                        "( _id INTEGER PRIMARY KEY AUTOINCREMENT,"
                                                        +colExpensesType+" TEXT );";

    private static final String INSERT_EXPENSES   ="INSERT INTO "+DATABASE_TABLE_NAME_EXPENSES+" values(1,'---Select Expenses---');";
    private static final String INSERT_EXPENSES1   ="INSERT INTO "+DATABASE_TABLE_NAME_EXPENSES+" values(2,'Other Expenses');";
    private static final String INSERT_EXPENSES2  ="INSERT INTO "+DATABASE_TABLE_NAME_EXPENSES+" values(3,'Rent Expenses');";
    private static final String INSERT_EXPENSES3  ="INSERT INTO  "+DATABASE_TABLE_NAME_EXPENSES+" values(4,'Hospital Expenses');";
    private static final String INSERT_EXPENSES4  ="INSERT INTO "+DATABASE_TABLE_NAME_EXPENSES+" values(5,'Child Expenses');";
    private static final String INSERT_EXPENSES5  ="INSERT INTO "+DATABASE_TABLE_NAME_EXPENSES+" values(6,'wages Expenses');";
   

   
    private static final String TAG="DbHelper";

   
    public DbHelper(Context context)
    {
        super(context, DATABASE_NAME,null,DATABASE_VERSION);       
        System.out.print("In Constructor");
    }

    @Override
    public void onCreate(SQLiteDatabase db)
    {
        // TODO Auto-generated method stub
        try
        {
            db.execSQL(CREATE_TABLE_EMP_INFO);
            db.execSQL(CREATE_TABLE_EMP_SALARY);
            db.execSQL(CREATE_TABLE_EXPENSES);
            db.execSQL(CREATE_TABLE_EMP_REPORT);
            db.execSQL(INSERT_EXPENSES);
            db.execSQL(INSERT_EXPENSES1);
            db.execSQL(INSERT_EXPENSES2);
            db.execSQL(INSERT_EXPENSES3);
            db.execSQL(INSERT_EXPENSES4);
            db.execSQL(INSERT_EXPENSES5);
        }
        catch(SQLiteDatabaseCorruptException e1)
        {
            e1.printStackTrace();
            Log.e(TAG, "Line number:122", e1);
            System.out.print("In onCreate");
        }
        catch(SQLiteDiskIOException IO)
        {
            IO.printStackTrace();
        }
        catch(SQLiteFullException full)
        {
            full.printStackTrace();
        }
        catch(SQLiteException e)
        {
            e.printStackTrace();
            Log.e(TAG,"Database Error Line number:116", e);
            System.out.print("In onCreate");
        }
   
    }//End On Create

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
        // TODO Auto-generated method stub
        try
        {
              Log.w(TAG, "Upgrading database from version " + oldVersion
                    + " to "
                    + newVersion + ", which will destroy all old data");
             db.execSQL("DROP TABLE IF EXISTS empSalaryInformation");
             db.execSQL("DROP TABLE IF EXISTS EmployInformation");
            db.execSQL("DROP TABLE IF EXISTS expenses");
            db.execSQL("DROP TABLE IF EXISTS EmpReport");
            onCreate(db);
        }
        catch(SQLiteException e)
        {
            e.printStackTrace();
        }
    }
    public void onClose(SQLiteDatabase db)
    {
        db.close();
    }
}

No comments:

Post a Comment