2014-10-28 44 views
-4

我在android中製作了一個信息系統,首次登錄後,它要求用戶顯示員工列表並添加新員工。所以問題是如何使用不同的表來存儲員工的信息並在列表視圖中顯示在其他活動中。這是我的代碼在SQLite數據庫中使用多個表android

這是數據庫的適配器類。

公共類LoginDataBaseAdapter {

static final String DATABASE_NAME = "login.db"; 
static final int DATABASE_VERSION = 1; 
public static final int NAME_COLUMN = 1; 

static final String DATABASE_CREATE = "create table "+"LOGIN"+ 
     "(" +"ID"+" integer primary key autoincrement,"+ "USERNAME text,PASSWORD text); "; 
public SQLiteDatabase db; 
private final Context context; 

private DbHelper dbHelper; 
public LoginDataBaseAdapter(Context _context) 
{ 
    context = _context; 
    dbHelper = new DbHelper(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 
public LoginDataBaseAdapter open() throws SQLException 
{ 
    db = dbHelper.getWritableDatabase(); 
    return this; 
} 
public void close() 
{ 
    db.close(); 
} 
public SQLiteDatabase getDatabaseInstance() 
{ 
    return db; 
} 

public void insertEntry(String userName,String password) 
{ 
    ContentValues newValues = new ContentValues(); 
    newValues.put("USERNAME", userName); 
    newValues.put("PASSWORD",password); 

    db.insert("LOGIN", null, newValues); 

} 
public int deleteEntry(String UserName) 
{ 

    String where="USERNAME=?"; 
    int numberOFEntriesDeleted= db.delete("LOGIN", where, new String[]{UserName}) ; 
    return numberOFEntriesDeleted; 
} 
public String getSinlgeEntry(String userName) 
{ 
    Cursor cursor=db.query("LOGIN", null, " USERNAME=?", new String[]{userName}, null, null, null); 
    if(cursor.getCount()<1) // UserName Not Exist 
    { 
     cursor.close(); 
     return "NOT EXIST"; 
    } 
    cursor.moveToFirst(); 
    String password= cursor.getString(cursor.getColumnIndex("PASSWORD")); 
    cursor.close(); 
    return password;     
} 
public void updateEntry(String userName,String password) 
{ 
    ContentValues updatedValues = new ContentValues(); 

    updatedValues.put("USERNAME", userName); 
    updatedValues.put("PASSWORD",password); 

    String where="USERNAME = ?"; 
    db.update("LOGIN",updatedValues, where, new String[]{userName});    
}  

}

這是輔助類。

公共類DbHelper擴展SQLiteOpenHelper {

public DbHelper(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(LoginDataBaseAdapter.DATABASE_CREATE); 
} 

@Override 
public void onUpgrade(SQLiteDatabase _db, int _oldVersion, int _newVersion) { 

    // TODO Auto-generated method stub 
    Log.w("TaskDBAdapter", "Upgrading from version " + _oldVersion + " to " + _newVersion + ", which will destroy all old data"); 

    _db.execSQL("DROP TABLE IF EXISTS " + "TEMPLATE"); 
    onCreate(_db); 
} 

}

回答

0

你可以在這個數據庫中創建另一個表,我使用你所提供的相同的字符串根據您的需要編輯

static final String Table2 = "create table "+"LOGIN"+ 
    "(" +"ID"+" integer primary key autoincrement,"+ "USERNAME text,PASSWORD text); "; 

現在在您的幫手類的onCreate()方法中執行此查詢以及查詢

@Override 
public void onCreate(SQLiteDatabase _db) { 
// TODO Auto-generated method stub 
_db.execSQL(LoginDataBaseAdapter.DATABASE_CREATE); 
_db.execSQL(LoginDataBaseAdapter.Table2); 
    } 

然後使用輔助類從這個table.Have添加和檢索數據看看這個鏈接,瞭解數據的插入和取出從表中的Android http://hmkcode.com/android-simple-sqlite-database-tutorial/