我有一個活動的數據庫,我想打開另一個動作,也是在這個活動我想創建一個列表視圖:列表視圖值導致錯誤
我的代碼如下
messagedb=context.openOrCreateDatabase("message",0, null);
messagedb.execSQL(
"CREATE TABLE IF NOT EXISTS tab(" +
" _id INTEGER PRIMARY KEY AUTOINCREMENT ," +
" nickname varchar,sender INT(13),body varchar)");
messagedb.execSQL("INSERT INTO tab VALUES('"+nickname+"','"+sender+"','"+sb+"')");
messagedb.close();
mydb.close();
當我插入值它說你的數據庫有4列,但你有ente 3列值.............我怎麼能從表中自動添加_id ......
我的列表查看活動如下
public class ListView extends ListActivity {
SQLiteDatabase messagedb;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.my_list);
messagedb=ListView.this.openOrCreateDatabase("message",0, null);
messagedb.execSQL(
"CREATE TABLE IF NOT EXISTS tab(" +
" _id INTEGER PRIMARY KEY AUTOINCREMENT," +
" nickname varchar,sender INT(13),body varchar)");
Cursor cur = messagedb.rawQuery("select _id, nickname, body from tab", null);
String[] from = new String[] { "nickname", "body" };
int[] to = new int[] { R.id.sender_entry, R.id.body_entry};
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(this, R.layout.my_list_entry, cur, from, to);
this.setListAdapter(mAdapter);
cur.close();
messagedb.close();
}
protected void onListItemClick(android.widget.ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String nickName = ((TextView) v.findViewById(R.id.sender_entry)).getText().toString();
String body = ((TextView) v.findViewById(R.id.body_entry)).getText().toString();
Intent intent = new Intent(ListView.this,MessageViewPage.class);
Bundle b = new Bundle();
b.putString("nick", nickName);
b.putString("body", body);
intent.putExtras(b);
startActivity(intent);
finish();
}
}
你的問題是什麼?你的錯誤是什麼?生命的意義是什麼?! – AedonEtLIRA 2012-07-06 14:55:44
當我插入值它說你的數據庫有4列,但你已經輸入3列的值.......在代碼的第一行不listView ....我意識到,它說,ID是失蹤... NA ?但我不知道如何在我的表中自動添加ID ....建議我如何將ID添加到表中? – 2012-07-06 14:59:46
我怎麼能在列中添加空值 – 2012-07-06 15:09:33