-4

我正在尝试匹配现有数据库中的用户名和密码,但我在编写 SQL 查询时遇到了困难。

Cursor cursor = db.rawQuery("Select " + dbh.name + dbh.pass
+ " from tablename where" +dbh.name +"="+ e1.getText().toString()+";", null);
4

3 回答 3

1

您可以使用以下方法执行此操作,但强烈建议您这样做:

String selectQuery = "SELECT * FROM "+ TABLE_NAME +" WHERE "+COLUMN_USERNAME + " = '"+usrname+"' AND "+COLUMN_PASSWD+" = '"+passwd+"' "; 
//COLUMN_USERNAME is the column name which stores username COLUMN_PASSWD is column storing password
Cursor cursor = database.rawQuery(selectQuery, null);

您可以尝试使用AccountManager类。有些问题涉及如何存储用户名和密码。您应该检查以下线程:

1)Android:存储用户名和密码?

2)将用户名 + 密码存储在 Android 的本地 SQLite 数据库中是否安全?

希望这可以帮助。

于 2013-05-04T07:48:23.810 回答
0

将您的代码编辑为:

Cursor cursor = db.rawQuery("Select " + dbh.name + dbh.pass
+ " from tablename where " +dbh.name +"='"+ e1.getText().toString()+"'", null);
于 2013-05-04T08:06:20.700 回答
0

dbh.name + dbh.pass 是什么意思?这两个是不同的列吗?如果是,那么你必须用逗号传递这两个列名,

dbh.name +","+ dbh.pass

并触发选择查询,例如,

SELECT "+ dbh.name+","+dbh.pass +" FROM TABLE_NAME WHERE dbh.name=?", new String [] { e1.getText().toString() });

希望这能解决你的问题:)

于 2013-05-04T08:36:36.007 回答