android中没有这样的sql表错误

时间:2014-11-19 23:43:57

标签: java android sql

我正在尝试创建一个名为statescaptials的sql表,并将文件中的数据插入其中。我得到的问题是,当我尝试查询此表时,我收到一条错误,指出statescapitals表不存在。我无法弄清楚原因

以下是我创建表格并填充表格的代码

protected void populateTable()
{
    try
    {

        ContentValues cv = new ContentValues();
        for(int i = 0; i < states.length; i++)
        {
            cv.put("state", states[i]);
            cv.put("capital", capitals[i]);
            db.insert("statestable", null, cv);
        }
    }
    catch(SQLException e)
    {
        Log.d(tag, "populate table error");
    }


}
//************************CreateTable()*****************************    
protected void createTable() 
{
    try
    {
        SQLiteDatabase db = openOrCreateDatabase("StatesandCapitals.db", 
             SQLiteDatabase.CREATE_IF_NECESSARY, null);
        db.setVersion(1);


        sqlcmd = "CREATE TABLE if not exists statestable (" +
                 "id INTEGER PRIMARY KEY AUTOINCREMENT," +
                 "state TEXT," +
                 "capital TEXT);"; 

        scores = "CREATE TABLE if not exists scorestable (" +
                 "id INTEGER PRIMARY KEY AUTOINCREMENT," +
                 "name TEXT," +
                 "score TEXT);";

        db.execSQL(sqlcmd);
        db.execSQL(scores);
    } 
    catch (SQLException e)
    {
        Log.d(tag, "table not created");
    }    
}

1 个答案:

答案 0 :(得分:0)

问题是,因为我已经创建了数据库,当我尝试将另一个表添加到数据库时,我得到一个表不存在错误。为了解决这个问题,我删除了我的数据库,然后重新创建了数据库/表。