2011-10-30 3 views
0

필드의 특성이 메서드에 대한 매개 변수와 동일한 데이터베이스가있는 행을 반환하려고합니다. 내 코드는 다음과 같습니다이 SQL 쿼리를 올바르게 구성하는 방법

public Cursor fetchStatus(String status){ 
    Cursor mCursor = 

      mDb.query(DATABASE_TABLE, new String[] {KEY_COMPANY, KEY_POSITION, KEY_NOTES, KEY_WAGE, KEY_STATUS}, 
        KEY_STATUS+ "= "+status, null, null, null, null) 
      ; 
    if(mCursor!=null) mCursor.moveToFirst(); 
    return mCursor; 
} 

KEY_STATUS 매개 변수 '상태'

+0

어느 데이터베이스 (mySQL, Oracle, SQL 서버 등) –

+0

그 코드는 제가 시도한 코드이고 "SQLiteException near :": "syntax error : .."오류가 발생합니다. 데이터베이스가 SQLite3이고 내 응용 프로그램이 안드로이드 응용 프로그램입니다 – Shane

+1

rawQuery를 시도 했습니까? 'mDb.rawQuery ("sql statement", null);'당신의 코드가 정확하다고 보입니다. – abhinav

답변

1

아마 당신은 이런 식으로 뭔가를 시도 할 수 있습니다. 그냥 생각.

+0

감사합니다. 나는 당신이 그것 같이 작은 따옴표를 사용할 필요가 있었다는 것을 몰랐다. – Shane

1

사용 PreparedStatement 동일 어디가 KEY_COMPANY, KEY_POSITION, KEY_NOTES, KEY_WAGE 및 KEY_STATUS 열을 반환하고자합니다.

간단히 검색어를 지정하고 검색 쿼리에 매개 변수를 설정할 수 있습니다. 당신이 당신의 의견에 지정된

public object GetValues (string status) 
{ 
    string query = "SELECT KEY_COMPANY, KEY_POSITION, KEY_NOTES, KEY_WAGE,KEY_STATUS 
    FROM DATABASE_TABLE 
    WHERE KEY_STATUS = "'" +status+ "'" " ; 

    dbcomands part... 

    List<object> = execute db comand.... 
} 

오류는 당신이 쿼리에 ''의 부족에 의해 발생 될 수 있습니다

관련 문제