这是我从表SqliteTmp中选择内容的代码:
Cursor c=null;
DataBaseHelper myDbHelper = new DataBaseHelper(StaffActivity.this);
try {
myDbHelper.createDataBase();
} catch (IOException ioe) {
throw new Error("Unable to create database");
}
try {
myDbHelper.openDataBase();
}catch(SQLException sqle){
throw sqle;
}
Toast.makeText(StaffActivity.this, "Success", Toast.LENGTH_SHORT).show();
c=myDbHelper.query("SqliteTmp", null, null, null, null,null, null);
if(c.moveToFirst())
{
do {
Toast.makeText(StaffActivity.this,
"_id: " + c.getString(0) + "\n",
Toast.LENGTH_LONG).show();
} while (c.moveToNext());
}
}
Logcat说:
android.database.sqlite.SQLiteException: no such table: SqliteTmp (code 1): , while compiling: SELECT * FROM SqliteTmp
但是SqlTmp.db显示:
CREATE TABLE `SqliteTmp` (
`_id` int(11) NOT NULL,
`ean` varchar(12) NOT NULL,
`bezeichnung` varchar(100) NOT NULL,
`art` varchar(1),
`stammkost` varchar(4),
`marker` varchar(1),
PRIMARY KEY(_id)
);
为什么找不到SqliteTmp表?它确实在其中。
答案 0 :(得分:1)
我想我遇到了同样的问题。请确保每个表都有不同的数据库名称。这将极大地解决您的问题。
答案 1 :(得分:0)
确保您的数据库路径和文件名正确无误。根据您的代码,它可能会创建一个空白数据库而不是打开您的数据库。