你好,我在android中开发了注册屏幕,我需要从我的数据库中获取id,输入用户名和密码来存储数据库,并使其成为int.Firstly用户将注册的用户名,然后输入名称并传递并登录up.In,我的数据库有很多种类型,如: id用户名密码,我想获得输入用户名的id和password.For ex:id:1用户名:a pass : id:2,username:B pass:b.当用户A输入他的名字并通过并登录到上面时,我应该得到他的id,然后输入它,如果你没有什么东西,请留言,谢谢我试过了,但我不知道它是否正确,以及如何开发它:
EditText name;
String Username = name.getText().toString();
Cursor c = database.rawQuery("SELECT * FROM " +LOGIN_TABLE + " where username = '"+Username+"'", null);在这个代码中,登录表是我的表名吗?
发布于 2014-08-15 22:13:33
如果您正在使用数据库的内置id字段,我建议稍微更改查询。
我发现,如果我没有在create语句中定义_id行,就不会在Select*语句中得到它。
Cursor c = database.rawQuery("SELECT * FROM " +LOGIN_TABLE + " where username = '"+Username+"'", null);
可切换到:
Cursor c = database.rawQuery("SELECT _id, * FROM " +LOGIN_TABLE + " where username = '"+Username+"'", null);
在此之后,当您从游标中获得它时,使用它查找id:
Long id = c.getLong(c.getColumnIndex("_id"));
编辑:
在这里调用最后一行代码之前,请确保将光标移动到第一个结果。
if (c.moveToFirst())
{
id = c.getLong(c.getColumnIndex("_id"));
}发布于 2014-08-15 18:12:05
从数据库中获取id,如下所示:
String id = c.getString(1);//c is object of cursor然后使用Integer.parseInt()转换为整数
int integerId = Integer.parseInt(id);发布于 2020-11-21 10:57:16
public void addData(View view){
DBHandler dbHandler = new DBHandler(this);
//normally the id is comming as int , i changed it to string
long val = dbHandler.addInfo(username.getText().toString(), password.getText().toString());
if(val > 0){
Toast.makeText(this, "Inserted Successfully", Toast.LENGTH_LONG).show();
}else{
Toast.makeText(this, "Inserting Error", Toast.LENGTH_LONG).show();
}
}https://stackoverflow.com/questions/25331750
复制相似问题