2017-10-16 30 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

相关问题