This question already has an answer here:
After Learning So Many Tutorials now i am creating an application
I have a problem displaying an records from my db in listview i want to display all the fields of Title in a Textview When i start my app it crash at the beggining and in my logcat it shows error in SimpleCursorAdapter in Main Activity as column '_id' does not exist
This is my code :
My Create Statement in SqliteManager
CREATE TABLE "record" ("itemno" INTEGER PRIMARY KEY NOT NULL , "title" TEXT, "subcategory" TEXT, "detail" TEXT, "images" TEXT)
Database Class:
public class SqliteDBHelper extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "ayur.sqlite";
private static final String DB_PATH_SUFFIX = "/databases/";
public static final String ITEMNO="itemno";
public static final String TITLE="title";
public static final String SUBCATEGORY="subcategory";
public static final String DETAIL="detail";
public static final String IMAGES="images";
public static final String TABLENAME="record";
static Context ctx;
public Cursor gettiles(SQLiteDatabase db)
{
db = this.getReadableDatabase();
cursor = db.query(true, TABLENAME , new String[]{TITLE,ITEMNO}, null, null, null, null, null, null);
if (cursor != null) {
cursor.moveToFirst();
}
return cursor;
}
MainActivity:
public class MainActivity extends ActionBarActivity {
ListView listView;
SqliteDBHelper dbHelper;
SQLiteDatabase sqLiteDatabase;
Cursor cursor;
DataProvider dataProvider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView= (ListView) findViewById(R.id.listView);
dbHelper= new SqliteDBHelper(this);
try {
dbHelper.openDataBase();
} catch (SQLException e) {
e.printStackTrace();
}
cursor =dbHelper.gettiles(sqLiteDatabase);
String[] from = new String[]{dbHelper.TITLE};
int[] to = new int[]{R.id.title};
SimpleCursorAdapter adapter= new SimpleCursorAdapter(this,R.layout.title_row,cursor,from,to);
adapter.notifyDataSetChanged();
listView.setAdapter(adapter);
}
Logcat:
Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:303)
at android.support.v4.widget.CursorAdapter.init(CursorAdapter.java:174)
at android.support.v4.widget.CursorAdapter.<init>(CursorAdapter.java:151)
at android.support.v4.widget.ResourceCursorAdapter.<init>(ResourceCursorAdapter.java:93)
at android.support.v4.widget.SimpleCursorAdapter.<init>(SimpleCursorAdapter.java:89)
at com.example.aeiltech.sidd.MainActivity.onCreate(MainActivity.java:35)
Aucun commentaire:
Enregistrer un commentaire