kumisku
kumisku

Reputation: 103

retrieve data from database which contain more than one data

I want to retrieve data from sqlite. user can have more than 1 score and i want to display it. it can show if user just have only one score, but it shows blank screen if user have more than one score.

These are my code

ScoreDetailActivity.java

public class ScoreDetailActivity extends Activity {

    protected TextView userName;
    protected TextView score;
    protected int user_Id;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.scoredetail);

    user_Id = getIntent().getIntExtra("USER_ID", 0);
    SQLiteDatabase db = (new DatabaseUsername(this)).getWritableDatabase();
    Cursor cursor = db.rawQuery("SELECT alm._id, alm.nama, alm.jekel, sc._id, sc.score, sc.userId FROM almag alm LEFT OUTER JOIN score sc ON alm._id = sc.userId WHERE alm._id = ?",
                            new String[]{""+user_Id});

    if (cursor.getCount() == 1)
    {
            cursor.moveToFirst();

            userName = (TextView) findViewById(R.id.userName);
            userName.setText(cursor.getString(cursor.getColumnIndex("nama")));

            score = (TextView) findViewById(R.id.score);
            score.setText(cursor.getString(cursor.getColumnIndex("score")));


    }

}}

scoredetail.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
    <TextView
            android:id="@+id/userName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
            android:id="@+id/score"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

I hope someone can help. Thank you

Upvotes: 0

Views: 421

Answers (1)

fedepaol
fedepaol

Reputation: 6862

cursor.getCount() == 1

means that you execute that code only if the cursor has EXACTLY one row.

In any case, if you also want to be able to display more than one result, you should rethink your layout (maybe a listview would be more suitable).

Upvotes: 2

Related Questions