1

I have used the following code to create table and insert data into table. The code displays data for only when select statement is within the same file. I have noticed that there is no database in /data/data . Am I missing some thing or the process is actually wrong? If wrong then what should I do?

surgicalmstDB =  this.openOrCreateDatabase("surgicalmstDB ", SQLiteDatabase.CREATE_IF_NECESSARY, null);
        surgicalmstDB.setVersion(1);
        surgicalmstDB.setLocale(Locale.getDefault());
        surgicalmstDB.setLockingEnabled(true);
        surgicalmstDB.execSQL("CREATE TABLE IF NOT EXISTS " +
                " instrument " +
               " (id int,instrumnt TEXT, category TEXT, details TEXT);");

surgicalmstDB.execSQL("INSERT INTO " +
                "instrument" +
                " Values (2,'#3 Long Knife Handle ','Cutting and dissecting','Used to cut deeper tissue.');");

//-----------------------------------------------------------------
 String query="SELECT * from instrument WHERE id=2";
                Cursor cursor=surgicalmstDB.rawQuery(query, null);
                while (cursor.moveToNext()) {
                    String title =cursor.getString(cursor
                            .getColumnIndex("instrumnt"));
                    String author= cursor.getString(cursor
                            .getColumnIndex("category"));
                    String price= cursor.getString(cursor
                            .getColumnIndex("details"));
                       txt.setText(title+"-----"+author+"-------"+price);
                    }
                    cursor.close();
                    surgicalmstDB.close();
1
  • so when you are checking the /data/data/ dir, you might have closed your emulator, i suggest you to let the emulator on and then check it. Commented May 31, 2012 at 4:51

1 Answer 1

1

I would suggest you to refer SQLiteOpenHelper instead of hard-coding queries.

Following code will help you

Employee Model Class

package com.database;

public class Employee {


    int _id;
    String _name;
    String _phone_number;


    public Employee (){

    }
    // constructor
    public Employee (int id, String name, String _phone_number){
        this._id = id;
        this._name = name;
        this._phone_number = _phone_number;
    }

    // constructor
    public Employee (String name, String _phone_number){
        this._name = name;
        this._phone_number = _phone_number;
    }
    // getting ID
    public int getID(){
        return this._id;
    }

    // setting id
    public void setID(int id){
        this._id = id;
    }

    // getting name
    public String getName(){
        return this._name;
    }

    // setting name
    public void setName(String name){
        this._name = name;
    }

    // getting phone number
    public String getPhoneNumber(){
        return this._phone_number;
    }

    // setting phone number
    public void setPhoneNumber(String phone_number){
        this._phone_number = phone_number;
    }
}

SQLite Helper Class

public class DatabaseHelper extends SQLiteOpenHelper {

  private static final int DATABASE_VERSION = 1;

  private static final String DATABASE_NAME = "employeeDB";


  private static final String TABLE_EMPLOYEE = "employee";


private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";

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

// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
    String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_EMPLOYEE + "("
            + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
            + KEY_PH_NO + " TEXT" + ")";
    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_CONTACTS);

    // Create tables again
    onCreate(db);
} 

CRUD Operations

// Adding new Employee

public void addEmployee(Employee employee) {}

// Getting single Employee

public Contact getEmployee(int id) {}

// Getting All Employees

public List<Employee> getAllEmployees() {}

// Getting Employees Count

public int getEmployeesCount() {}

// Updating single Employee

public int updateEmployee(Employee employee) {}

// Deleting single Employee

public void deleteEmployee(Employee employee) {}

Inserting new Record

public void addemployee(Employee employee) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, employee.getName()); 
    values.put(KEY_PH_NO, employee.getPhoneNumber()); 
    db.insert(TABLE_EMPLOYEE, null, values);
    db.close();
}

Reading Row(s)

public Contact getEmployee(int id) {
    SQLiteDatabase db = this.getReadableDatabase();

    Cursor cursor = db.query(TABLE_EMPLOYEE, new String[] { KEY_ID,
            KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();

    Employee employee= new Employee(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2));

    return employee;
}

Getting All Employees

public List<Contact> getAllEmployees() {
    List<Employee> employeeList = new ArrayList<Employee>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_EMPLOYEE;

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Employee employee= new Employee();
            employee.setID(Integer.parseInt(cursor.getString(0)));
            employee.setName(cursor.getString(1));
            employee.setPhoneNumber(cursor.getString(2));

            employeeList.add(employee);
        } while (cursor.moveToNext());
    }

       return employeeList;
}

Get All Employees Count

 public int getEmployeesCount() {
        String countQuery = "SELECT  * FROM " + TABLE_EMPLOYEE;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        cursor.close();

        // return count
        return cursor.getCount();
    }

Updating Record

public int updateEmployee(Employee employee) {
    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(KEY_NAME, employee.getName());
    values.put(KEY_PH_NO, employee.getPhoneNumber());

    // updating row
    return db.update(TABLE_EMPLOYEE, values, KEY_ID + " = ?",
            new String[] { String.valueOf(employee.getID()) });
}

Deleting Record

public void deleteEmployee(Employee employee) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_EMPLOYEE, KEY_ID + " = ?",
            new String[] { String.valueOf(employee.getID()) });
    db.close();
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.