SQLiteException:没有这样的表:

时间:2015-05-25 17:31:27

标签: android mysql

这是我从表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表?它确实在其中。

2 个答案:

答案 0 :(得分:1)

我想我遇到了同样的问题。请确保每个表都有不同的数据库名称。这将极大地解决您的问题。

答案 1 :(得分:0)

确保您的数据库路径和文件名正确无误。根据您的代码,它可能会创建一个空白数据库而不是打开您的数据库。