Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android studio中,我想将编辑文本字段中输入的值与DB进行比较_Android_Database_Android Studio_Android Edittext_Android Applicationinfo - Fatal编程技术网

在android studio中,我想将编辑文本字段中输入的值与DB进行比较

在android studio中,我想将编辑文本字段中输入的值与DB进行比较,android,database,android-studio,android-edittext,android-applicationinfo,Android,Database,Android Studio,Android Edittext,Android Applicationinfo,我有一个注册页面,通过编辑文本字段获取用户名和密码,并将它们存储在一个没有ID的数据库中,现在我需要将数据库中存储的这些用户名和密码与另一个名为“登录”的活动中编辑文本的用户名和密码进行比较,并检查它们是否匹配。 这是我的Signup.java代码: package com.example.admin.studentdb; import android.app.AlertDialog; import android.content.Context; impor

我有一个注册页面,通过编辑文本字段获取用户名和密码,并将它们存储在一个没有ID的数据库中,现在我需要将数据库中存储的这些用户名和密码与另一个名为“登录”的活动中编辑文本的用户名和密码进行比较,并检查它们是否匹配。 这是我的Signup.java代码:

    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();
   }
   }

难道你没有忘记在
username.getText()
之后添加
.toString()
,因为它返回
可编辑的
字符串

c=sdb.rawQuery(“从符号中选择COUNT(*),其中username='”+username.getText()+”,null)

请尝试以下操作:

Cursor cursor = db.rawQuery("SELECT * FROM studentdatabase WHERE id='" + e1.getText() + "'", null);
if (cursor.getCount() == 0) {
    Toast.makeText(this, "No id found:", Toast.LENGTH_SHORT).show();
    return;
}

不清楚您是否面临任何问题或不知道如何解决?