2011-03-31 10 views
3

데이터베이스에서 정보를 얻는 방법. 나는 어떤 일이 테스트되지 가장 쉬운 방법 (해야 테이블 사람데이터베이스 sqlite에서 정보 얻기

+0

당신은 질문을 게시하기 전에 [검색] (http://stackoverflow.com/search?q=Using+Database+in+Android)에 StackOverflow이 있어야합니다. – Mudassir

+0

여기에 ID는 int입니까? –

+0

이 라인을 사용하십시오 db.execSQL ("id = '"+ id + "'"인 사람으로부터 이름 선택; –

답변

8

ID가 정수 데이터 유형 인 경우이 방법을 사용해보십시오. 당신의 ID가 문자열 데이터 형식 인 경우

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; 
} 

피스는이를보십시오.

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; 
} 
+0

작은 힌트 : 이름이 int가 아닙니다 :) – WarrenFaith

+0

감사합니다 워렌의 저의 실수 ... –

+0

정확히 내가 필요로했던 매우 훌륭하고 잘 쓰여진 대답 . 감사합니다. – raddevus

1
Cursor cursor = db.rawQuery("SELECT name FROM person WHERE id = ?", new String[] { id }); 
cursor.moveToFirst(); 
String nom = cursor.getString(cursor.getColumnIndex("name")); 

에서 사람의 이름을 얻기 위해 나에게이 줄을 수정할 수 있습니다이 줄

String nom = db.execSQL("select name from person where id='+id+'"); 

을 실행하려면,하지만 당신은해야 아이디어를 얻으십시오).

안드로이드가 데이터베이스 액세스를 처리하는 방법을 모를 것 같아서 적어도 Cursor 클래스를 살펴 보는 것이 좋습니다.

execSQL() 문서 :

는 SELECT 또는 데이터를 반환하는 모든 다른 SQL 문이 아닌 하나의 SQL 문을 실행합니다.