如何從數據庫中獲取信息。我想執行這一行從數據庫sqlite中獲取信息
String nom = db.execSQL("select name from person where id='+id+'");
任何一個可以糾正我此行從表人
如何從數據庫中獲取信息。我想執行這一行從數據庫sqlite中獲取信息
String nom = db.execSQL("select name from person where id='+id+'");
任何一個可以糾正我此行從表人
如果您的id是integer數據類型,請嘗試此操作。
public String getResult(int id)
{
String name = null;
try
{
Cursor c = null;
c = db.rawQuery("select name from person where id="+id, null);
c.moveToFirst();
name = c.getString(c.getColumnIndex("name"));
c.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return name;
}
皮斯試試這個,如果你的ID是字符串數據類型。
public String getResult(String id)
{
String name = null;
try
{
Cursor c = null;
c = db.rawQuery("select name from person where id=" + "\""+id+"\"", null);
c.moveToFirst();
name = c.getString(c.getColumnIndex("name"));
c.close();
}
catch(Exception e)
{
e.printStackTrace();
}
return name;
}
小提示:名稱不是一個int :) – WarrenFaith 2011-03-31 10:29:24
感謝warren它的我的錯誤... – 2011-03-31 10:30:50
非常好,寫得很好的答案,正是我所需要的。非常感謝。 – raddevus 2016-03-18 15:29:53
Cursor cursor = db.rawQuery("SELECT name FROM person WHERE id = ?", new String[] { id });
cursor.moveToFirst();
String nom = cursor.getString(cursor.getColumnIndex("name"));
這應該是最簡單的方法(未測試得到的人的名字,但你應該得到這個想法)。
它也看起來像你不知道android如何處理數據庫訪問,所以我建議看看至少在Cursor類。
execSQL()
文件:
執行一個SQL語句不是SELECT或返回數據的任何其他SQL語句。
你應該張貼問題之前,有[搜索](http://stackoverflow.com/search?q=Using+Database+in+Android)StackOverflow上。 – Mudassir 2011-03-31 10:16:06
這裏id是int? – 2011-03-31 10:17:01
嘗試這一行db.execSQL(「select person from person where id ='」+ id +「'」); – 2011-03-31 10:49:05