Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 根据Firstname从SQLite数据库检索数据_Android_Database_Sqlite - Fatal编程技术网

Android 根据Firstname从SQLite数据库检索数据

Android 根据Firstname从SQLite数据库检索数据,android,database,sqlite,Android,Database,Sqlite,我能够存储数据并从数据库中检索数据,但在检索数据时 显示以前存储的所有数据,但应仅显示 我就插进去了。基本上,如果用户使用其用户名登录,则应仅显示该用户名 他的个人资料很详细,但它显示了数据库中的所有条目。我该怎么做 根据名字或任何特定条目(我相信是主键)将其分开。对不起 感谢你提出这样一个愚蠢的问题,但我对编程和数据库一无所知。任何 非常感谢您的帮助。快速建议将id作为主键列添加到用户表中。然后在插入新记录后获取该id,并将该id保存在SharedReferences中,然后在需要时可以使用W

我能够存储数据并从数据库中检索数据,但在检索数据时

显示以前存储的所有数据,但应仅显示

我就插进去了。基本上,如果用户使用其用户名登录,则应仅显示该用户名

他的个人资料很详细,但它显示了数据库中的所有条目。我该怎么做

根据名字或任何特定条目(我相信是主键)将其分开。对不起

感谢你提出这样一个愚蠢的问题,但我对编程和数据库一无所知。任何


非常感谢您的帮助。

快速建议将id作为主键列添加到用户表中。然后在插入新记录后获取该id,并将该id保存在SharedReferences中,然后在需要时可以使用WHERE
id
=my\u id\u save从用户表中提取该记录。
下面是示例

快速建议将id添加为用户表的主键列。然后在插入新记录后获取该id,并将该id保存在SharedReferences中,然后在需要时可以使用WHERE
id
=my\u id\u save从用户表中提取该记录。
以下是示例

您正在检索在
数组中指定的三列的所有行,因为您在对
查询()的调用中为
WHERE
子句传递了
null

您正在检索在
数组中指定的三列的所有行,因为在调用
query()

的过程中,为
WHERE
子句传递了
null
,然后可以过滤要检索的结果


我建议您看看,它将使您的代码更具可读性,并使整个数据库的使用更简单

使用WHERE子句,然后可以筛选要检索的结果


我建议您看看,它将使您的代码更具可读性,并使整个数据库的使用更简单

在Profile\u view.java中,您可以调用传递要匹配的字符串的方法:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
调整后的getName方法应该如下所示:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
最后,您正在调用的SQLiteDatabase类的查询方法定义如下:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
查询(字符串表、字符串[]列、字符串选择字符串[]选择项、字符串分组依据、字符串拥有、字符串排序依据)

因此,将查询调用调整为如下所示:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
让事情变得更有活力:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
这样,您就可以调用query(),返回您想要的任何内容新的get方法可以是:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);

在Profile\u view.java中,您可以调用传递要匹配的字符串的方法:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
调整后的getName方法应该如下所示:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
最后,您正在调用的SQLiteDatabase类的查询方法定义如下:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
查询(字符串表、字符串[]列、字符串选择字符串[]选择项、字符串分组依据、字符串拥有、字符串排序依据)

因此,将查询调用调整为如下所示:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
让事情变得更有活力:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);
这样,您就可以调用query(),返回您想要的任何内容新的get方法可以是:

    **DBAdapter.java :**

    public void onCreate(SQLiteDatabase db) {

                db.execSQL(" CREATE TABLE " + DATABASE_TABLE + " (" + KEY_FIRSTNAME
                        + " TEXT NOT NULL PRIMARY KEY, " + KEY_MIDDLENAME + " TEXT NOT NULL, "
                        + KEY_LASTNAME + " TEXT NOT NULL, " + KEY_USERNAME + " TEXT NOT NULL, " + KEY_MAIL_ID + " TEXT NOT NULL, "
                        + KEY_PASSWORD + " TEXT NOT NULL, " + KEY_CONFIRM
                        + " TEXT NOT NULL, " + KEY_DATE_OF_BIRTH
                        + " INTEGER NOT NULL "
                        + ");");

            }

        public long insertRecord(String firstname, String middlename,
                String lastname, String username, String mail_id, String pass_word,
                String re_password, String d_o_b) {

            ContentValues cv = new ContentValues();
            cv.put(KEY_FIRSTNAME, firstname);
            cv.put(KEY_MIDDLENAME, middlename);
            cv.put(KEY_LASTNAME, lastname);
            cv.put(KEY_USERNAME, username);
            cv.put(KEY_MAIL_ID, mail_id);
            cv.put(KEY_PASSWORD, pass_word);
            cv.put(KEY_CONFIRM, re_password);
            cv.put(KEY_DATE_OF_BIRTH, d_o_b);
            //cv.put(KEY_COUNTRY, coun_try);
            return mDB.insert(DATABASE_TABLE, null, cv);

        }

    public String getName() {


            String column[] = new String[] { KEY_FIRSTNAME, KEY_MIDDLENAME,
                    KEY_LASTNAME };
            Cursor c = mDB.query(DATABASE_TABLE, column, null, null, null, null,
                    null);
            String name = "";
            int iFirst = c.getColumnIndex(KEY_FIRSTNAME);
            int iMiddle = c.getColumnIndex(KEY_MIDDLENAME);
            int iLast = c.getColumnIndex(KEY_LASTNAME);
            for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
                name = name + c.getString(iFirst) + "\t" + c.getString(iMiddle)
                        + "\t" + c.getString(iLast) + "\t";
            }
            c.close();
            return name;

        }



----------


    **Profile_view.java :**

    DBAdapter dbAdapter = new DBAdapter(Profile_view.this);
            dbAdapter.open();
            String name = dbAdapter.getName();
            full_name.setText(name);
            username_display.setText(dbAdapter.getUserName());
            mail_display.setText(dbAdapter.getMail_id());
            date_of_birth_display.setText(dbAdapter.get_date_of_birth());


----------
String name = dbAdapter.getName(currentUser);
public String getName(String currentUser);
Cursor c = mDB.query(DATABASE_TABLE, column, null, "where firstname = ?", new String[]{"" + currentUser + ""}, null, null);
String where = "where " + columnToMatch + " = ?";
Cursor c = mDB.query(DATABASE_TABLE, column, null, where, new String[]{"" + stringToMatch + ""}, null, null);

@博比·迪伦:谢谢你,朋友。我刚开始编程,这段代码对我小小的大脑来说似乎太难了,但无论如何,感谢你的努力。酷…@bobby.dhillon谢谢,朋友。因为我刚开始编程,这段代码对我小小的大脑来说似乎太难了,但无论如何,感谢你的努力。酷..那么你建议我在查询方法中替换null?是的,你应该替换
null
,这是
WHERE
子句的参数。您应该检索其密码和用户名与用户输入的密码和用户名匹配的用户。因此,您建议我在查询方法中替换null?是的,您应该替换
null
,这是
WHERE
子句的参数。您应该检索其密码和用户名与用户输入的密码和用户名匹配的用户。但是Bennet先生,该方法只是我在类中实现的几种方法的一个示例。我还有getmailid()、getusername()、getdob()等等。谢谢B先生,我会试试看,然后再给你回复。非常感谢。这将返回与您定义的currentUser变量的任何匹配项(可能为空)。因此,在返回之前测试游标是否为null是明智的。我的游标希望重新排列参数,如游标c=mDB.query(DATABASE_TABLE,column,null,new String[]{”“+currentUser+”“},其中,null,null);可以吗?在这里查看SQLiteDatabase的类定义:-光标不应该想重新排列任何内容。它有结果,希望能有所帮助。但是Bennet先生,这个方法只是我在我的课堂上实现的几个方法中的一个例子。我还有getmailid()、getusername()、getdob()等等。谢谢B先生,我会试试看,然后再给你回复。非常感谢。这将返回与您定义的currentUser变量的任何匹配项(可能为空)。因此,在返回之前测试游标是否为null是明智的。我的游标希望重新排列参数,如游标c=mDB.query(DATABASE_TABLE,column,null,new String[]{”“+currentUser+”“},其中,null,null);可以吗?在这里查看SQLiteDatabase的类定义:-光标不应该想重新排列任何内容。它有结果,希望有帮助。