我从EditText中获取了String值,并将其设置在SELECT QUERY after WHERE条件中
作为
TextView tv = (TextView) findViewById(R.id.textView3);
EditTextet2 et = (EditText) findViewById(R.id.editText1);
String name = et.getText().toString();
Cursor c = db.rawQuery("SELECT * FROM tbl1 WHERE name = '"+name+"'", null);
c.moveToNext();
tv.setText(c.getString(c.getColumnIndex("email")));但它不起作用。有什么建议吗?
发布于 2013-05-05 22:21:36
尝试使用以下语句:
Cursor c = db.rawQuery("SELECT * FROM tbl1 WHERE name = ?", new String[] {name});
Android要求WHERE子句与a ?进行比较,然后指定相同数量的?在查询的第二个参数中(当前有null)。
正如Nambari提到的,您应该使用c.moveToFirst()而不是c.moveToNext()
还有,名字里有没有引用?这也可能会把事情搞砸。
https://stackoverflow.com/questions/9280692
复制相似问题