2016-04-23 8 views
-1

私はログインしたユーザー名でデータベースからユーザーデータを取得するこのアプリケーションを持っています。ユーザー名は、アカウント情報を取得するページにログインすると渡されます。アプリがクラッシュすると、情報の取得が間違っていると言って、誰でも手伝ってもらえますか?ユーザーアカウントの取得

データベース・コード

public Cursor RetriveLoggedUsersData (DatabasOpperations DBOpp, String Username){ 
    SQLiteDatabase SQDB = DBOpp.getReadableDatabase(); 
    String[] Coloumns = {TableData.TableInfo.FIRSTNAME, TableData.TableInfo.LASTNAME, TableData.TableInfo.EMAIL, TableData.TableInfo.USERNAME, TableData.TableInfo.PASSWORD, TableData.TableInfo.IMAGE}; 
    String Where = TableData.TableInfo.USERNAME + " LIKE ?"; 
    String Argument[] = {Username}; 
    Cursor Cur = SQDB.query(TableData.TableInfo.TABLE_NAME, Coloumns, Where, Argument, null, null, null); 
    Log.d("DatabaseOperations", "Success, User Retrived"); 
    return Cur; 
} 

データを取得したいコード

あなたがチェックも moveToFirst()への呼び出しを行うことにより、第1の位置にカーソルを移動し、する必要が
Username = getIntent().getExtras().getString("Username"); 

DatabasOpperations DB = new DatabasOpperations(Contx); 
     Cursor Cur = DB.RetriveLoggedUsersData(DB, Username); 
     DBFName = Cur.getString(0); 
     DBLName = Cur.getString(1); 
     DBEmail = Cur.getString(2); 
+0

アプリがクラッシュすると、問題を追跡するのが簡単になるように質問を投稿するときにlogcat出力が関係します。 –

答えて

2

Cursorに少なくとも1つの行があることを確認する戻り値。

Cursor Cur = DB.RetriveLoggedUsersData(DB, Username); 
if (Cur.moveToFirst()) { 
    DBFName = Cur.getString(0); 
    DBLName = Cur.getString(1); 
    DBEmail = Cur.getString(2); 
} 
Cur.close(); 
+0

本当にありがとう、それは働いた! – RexDough

+0

@RexDough問題ありません!クラッシュした場合は、次回スタックトレースを含めてください! –

+0

okありがとう – RexDough

関連する問題