2017-10-16 41 views
0

因此,即時創建2個數據庫,這是客戶端和助產士。所以在登錄頁面代碼時,我應該如何修改代碼,以便我可以檢查插入的用戶名和密碼是來自客戶端還是助產士?先謝謝你。如何檢查2數據庫中的數據

databasehelper =客戶端// databasehelper1 =助產士

這裏是我的標誌代碼:

_btnsignin.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) { 

      _username = (EditText) findViewById(R.id.editusername); 
      _password = (EditText) findViewById(R.id.editpassword); 
      String str1 = _username.getText().toString(); 
      String str2 = _password.getText().toString(); 
      cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_NAME + " WHERE " + DatabaseHelper.COL_2 + "=? AND " + DatabaseHelper.COL_9 + "=?", new String[]{str1, str2}); 
      //cursor1 = db1.rawQuery("SELECT * FROM " + DatabaseHelper1.TABLE_NAME + " WHERE " + DatabaseHelper1.COL_2 + "=? AND " + DatabaseHelper1.COL_9 + "=?", new String[]{str1, str2}); 
      if (cursor != null) 
      { 
       if (cursor.getCount() > 0) 
       { 
        Intent gotowelcome = new Intent(SIGN_IN.this, WELCOME.class); 
        gotowelcome.putExtra("Username", str1); 
        SIGN_IN.this.startActivity(gotowelcome); 
       } else 
        { 
        Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_LONG).show(); 
        } 
      } 
     } 
    }); 

回答

0

你最好的選擇是不是有兩個數據庫,但在DATABSE而1臺,爲用戶用戶類型(助產士或客戶)的指標。

但是,你可以做線沿線的東西: -

cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_NAME + " WHERE " + DatabaseHelper.COL_2 + "=? AND " + DatabaseHelper.COL_9 + "=?", new String[]{str1, str2}); 
    cursor1 = db1.rawQuery("SELECT * FROM " + DatabaseHelper1.TABLE_NAME + " WHERE " + DatabaseHelper1.COL_2 + "=? AND " + DatabaseHelper1.COL_9 + "=?", new String[]{str1, str2}); 

    if(cursor.getCount() == 1 || cursor1.getCount() == 1) { 
     boolean fromclient = (cursor.getCount == 1); //<<< check which type 

     Intent gotowelcome ........   
    } else { 
     Toast.makeText(getApplicationContext(), "ERROR",........ 
    } 

當....表示你已經擁有的代碼。上述操作假定一個唯一的用戶名/密碼組合雖然你可以決定這個的東西,如: -

boolean sameusernamepasswordforboth = (cursor.getCount() == 1 && cursor1.getCount() == 1); 

boolean sameusernamepasswordforboth = ((cursor.getCount() + cursor1.getCount()) > 1); 
+0

燁,它的工作。非常感謝 ! :d – mija

相關問題