0

私はサインアップページを持っていて、テキストフィールドを編集してIDとデータベースをIDなしで取得しています。データベースに格納されているこれらのユーザー名とパスワードを「login」という名前の別のアクティビティーの編集テキストのユーザー名とパスワードと比較し、一致するかどうかを確認したい。 これは私のSignup.javaコードです:アンドロイドスタジオで、編集テキストフィールドに入力した値とDBとを比較したい

package com.example.admin.studentdb; 


    import android.app.AlertDialog; 
    import android.content.Context; 
    import android.content.Intent; 
    import android.database.Cursor; 
    import android.database.sqlite.SQLiteDatabase; 
    import android.os.Bundle; 
    import android.support.v7.app.AppCompatActivity; 

    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 
    import android.widget.EditText; 
    import android.widget.Toast; 




    public class Signup extends AppCompatActivity implements OnClickListener{ 
    EditText username,password,cpassword; 
    Button signup; 
    SQLiteDatabase sdb; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.signup); 
    username = ((EditText) findViewById(R.id.username)); 
    password = ((EditText) findViewById(R.id.password)); 
    cpassword = ((EditText) findViewById(R.id.cpassword)); 
    signup = ((Button) findViewById(R.id.btnsing)); 


    signup.setOnClickListener(this); 

    sdb = openOrCreateDatabase("SignUP", Context.MODE_PRIVATE, null); 
    sdb.execSQL("CREATE TABLE IF NOT EXISTS sign (username VARCHAR ,password VARCHAR);"); 
    } 

    public void onClick(View view) { 

    String chkpass = password.getText().toString(); 

    String cmpass = cpassword.getText().toString(); 

    if (view == signup) { 
     if (username.getText().toString().trim().length() == 0) { 
      showMessage("Error", "Please enter the username"); 
      return; 
     } else if (password.getText().toString().trim().length() == 0) { 
      showMessage("Error", "Please enter the password"); 
      return; 
     } else if (cpassword.getText().toString().trim().length() == 0) { 
      showMessage("Error", "Confirm password"); 
      return; 
     } else if (!chkpass.equals(cmpass)) { 
      showMessage("Error", "passwords dont match"); 
      return; 



      } else if (getCount()==0){ 
      sdb.execSQL("INSERT INTO sign VALUES('" + username.getText() + "','" + password.getText() + "');"); 
      Toast a = Toast.makeText(getApplicationContext(),"Registered Sucessfully",Toast.LENGTH_LONG); 
      a.show(); 
      Intent abc = new Intent(Signup.this,Login.class); 
      startActivity(abc); 
      clearText(); 

      } 
     else{ 
      showMessage("Error", "Username already Exists"); 
     } 

     } 



     } 



     public int getCount() { 
     Cursor c = null; 
     try { 

     c = sdb.rawQuery("SELECT COUNT(*) FROM sign WHERE username='" + username.getText() + "'", null); 
     if (c.moveToFirst()) { 
      return c.getInt(0); 
     } 
     return 0; 
     } 
     finally { 

    } 
    } 





    public void showMessage(String title,String message) 
    { 
    AlertDialog.Builder builder=new AlertDialog.Builder(this); 
    builder.setCancelable(true); 
    builder.setTitle(title); 
    builder.setMessage(message); 
    builder.show(); 
    } 
    public void clearText() 
    { 
    username.setText(""); 
    password.setText(""); 
    cpassword.setText(""); 
    username.requestFocus(); 
    } 
    } 
+0

それはあなたがどんな問題に直面しているか、あなたが方法がわからない不明ですか? –

答えて

0

は、あなたはそれがEditableないStringを返すようusername.getText().toString()を追加するのを忘れないことがありますか?

c = sdb.rawQuery("SELECT COUNT(*) FROM sign WHERE username='" + username.getText() + "'", null);

関連する問題