0

在执行以下代码时在黑莓 sqlite 中出现异常“无法准备已准备好的语句”

public Department[] getDepartment()
{
    Department[]  department = null;

    try
    {         
        database = DatabaseFactory.open(myURI);         
        Statement st = database.createStatement("SELECT code, name, status FROM Department");          

        st.prepare();

        Cursor c = st.getCursor();           
        Row r;
        int i = 0;
        department = new Department[i];
        while(c.next()) 
        {
            r = c.getRow();
            i++;
            Department dept = (Department) r.getObject(i);
            department[i] = dept;               
        }

        st.close();
        database.close();
    }
    catch ( Exception e ) 
    {         
        System.out.println("Exception occured --------------" +e.getMessage());
    }    
    return department;
}

任何人都知道这个的解决方案

4

1 回答 1

0

仅当st.prepare()未准备好语句时才需要,这意味着:

  • 该语句引用了一个外部变量
  • 该语句引用了一个计算变量

在这种情况下,两者都不是,因此该语句是多余的。

参考

于 2016-12-12T22:18:08.623 回答