![](/img/trans.png)
[英]how to get data from Sqlite in revrese Order from Sqlite databse
[英]How to get data from SQLite databse in Android
我想从我使用我的应用程序创建的数据库中获取一些数据。 这是我的代码
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.select_to_delete);
database = new DatabaseHandler(this);
bundle = getIntent().getExtras();
date = bundle.getString("DATE");
SQLiteDatabase db=database.getWritableDatabase();
Cursor cur=db.rawQuery("SELECT " +TITLE+ " FROM " +TABLE_NAME + " WHERE " + CDATE + "=" + date,null);
int i = cur.getCount();
if(cur !=null){
if (cur.moveToFirst()){
do{
tdate = cur.getString(cur.getColumnIndex("DATE"));
titlearray.add(tdate);
}while(cur.moveToNext());
}
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, titlearray);
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(adapter);
}
我的表有5列(id,title,date,time,descrption)。 并有4个原料。 该表是在另一个类中创建的 。
当我运行此应用程序时,它不会从sql表中获取数据并在listview中显示它。 当我调试它时,它显示i=1
,它返回false给if (cur.moveToFirst())
。 因此,它不走这里面if
部分。
我的错误是什么?
在你的约会对象附近放置撇号(')
Cursor cur=db.rawQuery("SELECT " +TITLE+ " FROM " +TABLE_NAME + " WHERE " + CDATE + "='" + date+"'",null);
NB我假设你的表创建和其他字段名称是准确的。 还要重新检查一下
使用选择参数,你将避免大量的问题:
Cursor cur=db.rawQuery("SELECT " +TITLE+ " FROM " +TABLE_NAME + " WHERE " + CDATE + " = ?", new String[] { date });
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, new String[] { TITLE}, CDATE + "=?",
new String[] { String.valueOf(date) }, null, null, null, null);
if (cursor.moveToFirst()) {
do {
//add to the array
} while (cursor.moveToNext());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.