2011-02-08 6 views
0

Это мой класс базы данных. В этом я хочу вставить данные в базу данных во время выполнения. В другом классе у меня есть edittext при нажатии кнопки значение edittext вставляется в базу данных, но оно не вставлено, как это можно сделать в этом классе?Вставить edittext в basehelper класс

public class DatabaseHelper extends SQLiteOpenHelper { 

     public static final String DATABASE_NAME = "employee_directory1"; 

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

     @Override 
     public void onCreate(SQLiteDatabase db) { 
       /* 


public void onCreate(SQLiteDatabase db) { 
       /* 
       * Create the employee table and populate it with sample data. 
       * In step 6, we will move these hardcoded statements to an XML document. 
       */ 
       String sql = "CREATE TABLE IF NOT EXISTS employee (" + 
               "_id INTEGER PRIMARY KEY AUTOINCREMENT, " + 
               "firstName TEXT, " + 
               "lastName TEXT, " + 
               "title TEXT, " + 
               "officePhone TEXT, " + 
               "cellPhone TEXT, " + 
               "email TEXT, " + 
               "managerId INTEGER)"; 
       db.execSQL(sql); 

       ContentValues values = new ContentValues(); 

       values.put("firstName", "John"); 
       values.put("lastName", "Smith"); 
       values.put("title", "CEO"); 
       values.put("officePhone", "617-219-2001"); 
       values.put("cellPhone", "617-456-7890"); 
       values.put("email", "[email protected]"); 
       db.insert("employee", null, values); 



     } 

     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
       db.execSQL("DROP TABLE IF EXISTS employees"); 
       onCreate(db); 


     } 

} 
+0

Вы выложили databaseclass: он не делает гораздо больше, чем создать базу данных и вставить образец строки. Разве не лучше, если вы покажете свой фактический код с помощью кнопки и что вы делаете, чтобы вставить туда? – Nanne

+0

@nanne это код для вставки значения EditText, но он показывает ошибку в классе базы данных \t Savemedicine.setOnClickListener (новый View.OnClickListener() { \t \t \t \t \t \t \t \t @Override \t \t \t \t общественности недействительным OnClick (View v) \t \t \t \t { \t \t \t \t \t try { \t \t \t \t \t \t db.open(); \t \t \t \t \t \t String med = Medicines.getText(). ToString(); \t \t \t \t \t \t String dos1 = Dose1.getText(). ToString(); \t \t \t \t \t \t String dos2 = Dose2.getText(). ToString(); \t \t \t \t \t String dos3 = Dose3.getText(). ToString(); \t \t \t \t \t \t \t \t \t \t \t \t db.getMedicine (мед, dos1, DOS2, dos3); – user555910

+0

Просьба предоставить стеке ошибки из вашего логарифма –

ответ

0

передать этот код и исправить ваши изменения

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
import android.database.sqlite.SQLiteOpenHelper; 

public class RegistrationOpenHelper extends SQLiteOpenHelper { 
    public static final String DATABASE_NAME = "REGISTRATION_DB"; 
    public static final String TABLE_NAME = "REGISTRATION_TABLE"; 
    public static final String TABLE_NAME_ONE = "REGISTRATION_TABLE_ONE"; 
    public static final int VERSION = 1; 
    public static final String KEY_ID = "_id"; 
    public static final String FNAME = "F_NAME"; 
    public static final String PKEY_ID = "pid"; 
    public static final String PROFILE = "profile"; 
    public static final String LNAME = "L_NAME"; 
    public static final String SCRIPT = "create table " + TABLE_NAME + " (" 
      + KEY_ID + " integer primary key autoincrement, " + FNAME 
      + " text not null, " + LNAME + " text not null);"; 

    public static final String PROFILE_TABLE = "create table " + TABLE_NAME_ONE + " (" 
      + PKEY_ID + " integer primary key autoincrement, " + PROFILE 
      + " text not null,);"; 

    /* public static final String PROFILE_TABLE="create table profiletable(profileid integer primary key autoincrement,profilename text null);"; 
    public static final String VALUE_TABLE="create table valuetable(id integer primary key autoincrement,value text null,delay);"; 
    */ 


    public RegistrationOpenHelper(Context context, String name, 
      CursorFactory factory, int version) { 
     super(context, name, factory, version); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     // TODO Auto-generated method stub 
     db.execSQL(SCRIPT); 
     db.execSQL(PROFILE_TABLE); 
    } 

    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     // TODO Auto-generated method stub 
     db.execSQL("drop table " + TABLE_NAME); 
     db.execSQL("drop table "+TABLE_NAME_ONE); 
     onCreate(db); 
    } 

} 

apater.java

import android.content.ContentValues; 
import android.content.Context; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 

public class RegistrationAdapter { 
    SQLiteDatabase database_ob; 
    RegistrationOpenHelper openHelper_ob; 
    Context context; 

    public RegistrationAdapter(Context c) { 
     context = c; 
    } 

    public RegistrationAdapter opnToRead() { 
     openHelper_ob = new RegistrationOpenHelper(context, 
       openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 
     database_ob = openHelper_ob.getReadableDatabase(); 
     return this; 

    } 

    public RegistrationAdapter opnToWrite() { 
     openHelper_ob = new RegistrationOpenHelper(context, 
       openHelper_ob.DATABASE_NAME, null, openHelper_ob.VERSION); 
     database_ob = openHelper_ob.getWritableDatabase(); 
     return this; 

    } 

    public void Close() { 
     database_ob.close(); 
    } 

    public long insertDetails(String fname, String lname) { 
     ContentValues contentValues = new ContentValues(); 
     contentValues.put(openHelper_ob.FNAME, fname); 
     contentValues.put(openHelper_ob.LNAME, lname); 
     opnToWrite(); 
     long val = database_ob.insert(openHelper_ob.TABLE_NAME, null, 
       contentValues); 
     Close(); 
     return val; 

    } 

    public Cursor queryName() { 
     String[] cols = { openHelper_ob.KEY_ID, openHelper_ob.FNAME, 
       openHelper_ob.LNAME }; 
     opnToWrite(); 
     Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, null, 
       null, null, null, null); 

     return c; 

    } 

    public Cursor queryAll(int nameId) { 
     String[] cols = { openHelper_ob.KEY_ID, openHelper_ob.FNAME, 
       openHelper_ob.LNAME }; 
     opnToWrite(); 
     Cursor c = database_ob.query(openHelper_ob.TABLE_NAME, cols, 
       openHelper_ob.KEY_ID + "=" + nameId, null, null, null, null); 

     return c; 

    } 

    public long updateldetail(int rowId, String fname, String lname) { 
     ContentValues contentValues = new ContentValues(); 
     contentValues.put(openHelper_ob.FNAME, fname); 
     contentValues.put(openHelper_ob.LNAME, lname); 
     opnToWrite(); 
     long val = database_ob.update(openHelper_ob.TABLE_NAME, contentValues, 
       openHelper_ob.KEY_ID + "=" + rowId, null); 
     Close(); 
     return val; 
    } 

    public int deletOneRecord(int rowId) { 
     // TODO Auto-generated method stub 
     opnToWrite(); 
     int val = database_ob.delete(openHelper_ob.TABLE_NAME, 
       openHelper_ob.KEY_ID + "=" + rowId, null); 
     Close(); 
     return val; 
    } 

}