2012-01-06 1 views
1

私のアプリケーションの一部は、動的データベースからユーザーアカウント情報を取得することです。ユーザーがユーザー名とパスワードを入力すると、データベースのユーザー名を検索し、ユーザー名に関連するすべてのデータを取得します。私は検索のためにgetTwitterAccountを使用しています。私の主キーは文字列 "TW_USERNAME"です。ここではデータベースコードの一部です:文字列変数ではなくIntegerを使用してSQLiteデータベースを検索するには?

public String[] getTwitterAccount(String username) { 
    Cursor cursor = db.query(true, TABLE_1, null, TW_USERNAME + "=" + username, null, null, null, null, null); 


    if ((cursor.getCount() == 0) || !cursor.moveToFirst()) { 
     return null; 
    } 

    String[] account = new String[3]; 
    account[0] = cursor.getString(cursor.getColumnIndex(TW_USERNAME)); 
    account[1] = cursor.getString(cursor.getColumnIndex(TW_AUTH_KEY)); 
    account[2] = cursor.getString(cursor.getColumnIndex(TW_AUTH_SECRET_KEY)); 

    return account; 
} 

私はクエリにエラーがあります。私はこの問題を探して、 "プライマリキーは整数" _id "でなければならないと言ったが、整数でない文字列を使用してデータベースを検索する方法はあるのだろうか?

答えて

5

これを試してみる:TW_USERNAME +" = "" + username + "' "あなたの入力パラメータは、文字列の場合は一重引用符で囲む必要があります。

+0

私の入力はユーザによって入力されたもので、TW_USERNAME列と比較して正しい生を持っています。 – thalsharif

+0

sqldatabaseを照会している間にあなたのユーザ名(これまでに入力したもの)を一重引用符で囲む必要があります。あなたの必要に応じて動作します。 http://stackoverflow.com/questions/6564215/problem-with-sql-query-android-where-clause – kosa

+0

それは仕事のようですgあなたの助けを大変感謝します。 – thalsharif

関連する問題