как написать код для получения значения из одной таблицы в другую при клике - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь кодировать для получения значения из регистрационной таблицы в пользовательскую таблицу, когда пользователь нажимает кнопку входа в систему, используя номер телефона.Моя таблица называется registate, пользователь. Таблица регистрации имеет такие значения, как имя, фамилия, пароль, адрес электронной почты, телефон. Таблица пользователей также имеет такой же атрибут.

DatabaseHelper.java:

     package com.example.lenovo.myapplication1;

    import android.content.Context;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;


    public class DatabaseHelper extends SQLiteOpenHelper {
        public static final String DATABASE_NAME="register.db";
        public static final String TABLE_NAME="registeration";
        public static final String COL_1="ID";
        public static final String COL_2="FirstName";
        public static final String COL_3="LastName";
        public static final String COL_4="Password";
        public static final String COL_5="Email";
        public static final String COL_6="Phone";

        public static final String TABLE_LOGIN="login";
        public static final String COLN_1="Phone";
        public static final String COLN_2="Password";

        public static final String TABLE_USER_LOG="user";
        public static final String COLUMN_1="ID";
        public static final String COLUMN_2="FirstName";
        public static final String COLUMN_3="LastName";
        public static final String COLUMN_4="Password";
        public static final String COLUMN_5="Email";
        public static final String COLUMN_6="Phone";





        public DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, 3);
            SQLiteDatabase db = this.getWritableDatabase();

        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("CREATE TABLE " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT,FirstName TEXT,LastName TEXT,Password TEXT,Email TEXT,Phone TEXT)");
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            //db.execSQL("CREATE TABLE " + TABLE_LOGIN + " (Phone TEXT,Password TEXT)");
            db.execSQL("CREATE TABLE " + TABLE_USER_LOG + " (ID INTEGER PRIMARY KEY AUTOINCREMENT,FirstName TEXT,LastName TEXT,Password TEXT,Email TEXT,Phone TEXT)");

            //db.execSQL("DROP TABLE IF EXISTS" +TABLE_NAME); //Drop older table if exists
            //onCreate(db);
        }
    }

Register.java:

package com.example.lenovo.myapplication1;

import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class Register extends AppCompatActivity {
    DatabaseHelper databaseHelper;
    SQLiteOpenHelper openHelper;
    SQLiteDatabase db;
    Button _btnreg,_btnlogin;
    EditText _txtfname,_txtlname,_txtpass,_txtemail,_txtphone;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        databaseHelper = new DatabaseHelper(this);
        openHelper = new DatabaseHelper(this);
        _btnreg = (Button)findViewById(R.id.btnreg);
        _txtfname = (EditText)findViewById(R.id.txtfname);
        _txtlname = (EditText)findViewById(R.id.txtlname);
        _txtpass = (EditText)findViewById(R.id.txtpass);
        _txtemail = (EditText)findViewById(R.id.txtemail);
        _txtphone = (EditText)findViewById(R.id.txtphone);
        _btnlogin = (Button)findViewById(R.id.btnlogin);

        _btnreg.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                db=openHelper.getWritableDatabase();
                String fname=_txtfname.getText().toString();
                String lname=_txtlname.getText().toString();
                String pass=_txtpass.getText().toString();
                String email=_txtemail.getText().toString();
                String phone=_txtphone.getText().toString();
                insertdata(fname,lname,pass,email,phone);
                Toast.makeText(getApplicationContext(), "register successfully",Toast.LENGTH_LONG).show();

            }
        });

        _btnlogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Register.this,Login.class);
                startActivity(intent);
            }
        });

    }

    public void insert data(String first name, String last name, String pass, String email, String phone){
        ContentValues contentValues = new ContentValues();
        contentValues.put(DatabaseHelper.COL_2, fname);
        contentValues.put(DatabaseHelper.COL_3, lname);
        contentValues.put(DatabaseHelper.COL_4, pass);
        contentValues.put(DatabaseHelper.COL_5, email);
        contentValues.put(DatabaseHelper.COL_6, phone);

        long id = db.insert(DatabaseHelper.TABLE_NAME, null, contentValues);

    }
}

Login.java:

package com.example.lenovo.myapplication1;

import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import static com.example.lenovo.myapplication1.DatabaseHelper.COLN_1;
import static com.example.lenovo.myapplication1.DatabaseHelper.COL_6;

public class Login extends AppCompatActivity {
    DatabaseHelper databaseHelper;
    SQLiteDatabase db;
    SQLiteOpenHelper openHelper;
    Button _btnLogin;
    EditText _txtphone,_txtpass;
    Cursor cursor;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        databaseHelper = new DatabaseHelper(this);
        openHelper = new DatabaseHelper(this);
        db = openHelper.getReadableDatabase();

        _btnLogin = (Button)findViewById(R.id.btnlogin);
        _txtphone = (EditText)findViewById(R.id.txtphone);
        _txtpass = (EditText)findViewById(R.id.txtpass);

        _btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String phone = _txtphone.getText().toString();
                String pass = _txtpass.getText().toString();
                insertdata(phone,pass);
                cursor = db.rawQuery("SELECT * FROM " + DatabaseHelper.TABLE_NAME + " WHERE " + COL_6 + "+? AND " + DatabaseHelper.COL_4 + "=?", new String[]{phone,pass});
                if(cursor!=null){
                    if(cursor.getCount()>0){
                        cursor.moveToNext();
                        Toast.makeText(getApplicationContext(), "Login Successfuliy", Toast.LENGTH_LONG).show();
                    }else {
                        Toast.makeText(getApplicationContext(), "ERROR", Toast.LENGTH_LONG).show();

                    }
                }
                Intent intent = new Intent(Login.this,Welcome.class);
                startActivity(intent);
                //if(COL_6==COLN_1){
                  //  cursor = db.rawQuery("SELECT * FROM" + DatabaseHelper.TABLE_NAME + );

                //}

            }
        });
    }
    public void insertdata(String phone, String pass){
        ContentValues contentValues = new ContentValues();
        contentValues.put(COLN_1, phone);
        contentValues.put(DatabaseHelper.COLN_2, pass);

        long id = db.insert(DatabaseHelper.TABLE_LOGIN, null, contentValues);

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...