In this article I am going to explain how to use select query in an Android application and fetching records from the cursor in Android.

·         Start a new project named SelectDemo.

·         Open res/layout/main.xml and insert the following:

<?xml  version="1.0" encoding="utf-8"?>
<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/txtID"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginTop="20px"
               android:layout_marginLeft="4px"
               android:textSize="30px" />
</LinearLayout>
·     Open the activity file and insert the following code:
import java.util.ArrayList;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
 
public class SelectDemoActivity extends Activity {
 
       private SQLiteDatabase db;
       private String table_name="StudentInfo";
       private String database_name="Test.db";
 
       public static final String KEY_ROWID = "sid";
       public static final String KEY_NAME = "name";
       public static final String KEY_AGE = "age";
       public static final String KEY_COURSE = "course";
      
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
        // create or open database file
        db = openOrCreateDatabase(database_name , SQLiteDatabase.CREATE_IF_NECESSARY, 
                                                                              
                                                                               null);
        db.setVersion(1);
        db.setLocale(Locale.getDefault());
        db.setLockingEnabled(true);
       
        // creating table in database
        db.execSQL("CREATE TABLE IF NOT EXISTS "+table_name+" " +
                        "( sid INTEGER PRIMARY KEY AUTOINCREMENT," +
                        "  name TEXT," +
                        "  age INTEGER," +
                        "  course TEXT ); ");
       
        //Insert("Rohit","19","CA");
       
        Cursor cur=fetchAllTodos();
        startManagingCursor(cur);
       
        cur.moveToFirst();
        new ArrayList<String>();
        do {
              TextView txtId=(TextView)findViewById(R.id.txtID);
              txtId.append(cur.getString(0)+" "+cur.getString(1)+"""+cur.getString(2)+"+cur.getString(3)+ "\n");
        }while (cur.moveToNext());
    }
   
    // fetching records from database
    public Cursor fetchAllTodos()
    {
              return db.query(table_name, new String[] { KEY_ROWID, KEY_NAME, KEY_AGE, KEY_COURSE }, null, null, null,null, null);                                                                        
    }
   
    // inserting record in the database
    public void Insert(String name, String age, String course)
    {
       ContentValues data=createContentValues(name, age, course);
       db.insert(table_name, null, data);
       Toast.makeText(this, "Record Inserted", Toast.LENGTH_SHORT).show();
    }
   
    // return a content of the database
    private ContentValues createContentValues(String name, String age, String course)
    {
              ContentValues values = new ContentValues();
              values.put(KEY_NAME, name);
              values.put(KEY_AGE, age);
              values.put(KEY_COURSE, course);
              return values;
    }
}
  •   Run the application.

When you run the application, it will display all the records present in the table.

Select query in Android Application

In my database the above records are present.
  Modified On Nov-30-2017 06:04:09 AM
  1. what is the meaning of too many null ?

     public Cursor fetchAllTodos()
        {   
     return db.query(table_namenew String[] { KEY_ROWID, KEY_NAME,    KEY_AGEKEY_COURSE }, nullnullnull,null,null);                                                              
        }

Leave Comment