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

関連する問題