0

何が起こっているのかわかりません。

これは私のコードです:

public class MyApp extends MainScreen {
Database sqliteDB;
URI uri;
String name;
public MyApp()
{
try{
uri = URI.create("file:///SDCard/Databases/sample/" +"prueba.db");

sqliteDB = DatabaseFactory.create(uri);
sqliteDB = DatabaseFactory.open(uri);
Statement st = sqliteDB.createStatement("CREATE TABLE joke(name)");
st.prepare();
st.execute();
st.close();

 Statement st1 = sqliteDB.createStatement("INSERT INTO joke VALUES ('Maxo')");
st1.prepare();
st1.execute();
st1.close();

Statement st2 = sqliteDB.createStatement("INSERT INTO joke VALUES ('Lala')");
st2.prepare();
st2.execute();
st2.close();

/*
Statement st1 = sqliteDB.createStatement("SELECT * from joke");



st1.prepare();
Cursor c = st1.getCursor();

Row r;
while(c.next()) {
    r = c.getRow();
     name =  r.getString(0);

}

st1.execute();
st1.close();*/
sqliteDB.close();


add(new RichTextField("Status: Database was created and inserted the values successfully"));

//add(new RichTextField(""+name));

}
catch (Exception e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}

}

データベースとテーブルを作成し、2 つのフィールドを挿入するだけです。だから私は最初にエミュレーターを実行し、ディレクトリを自分のSDカードに設定します。その後、プログラムを実行すると、そのディレクトリにデータベースが作成されることもあれば、作成されないこともあり、テーブルやデータのないデータベースが作成されることもあります..理由はわかりませんが、8520 9550エミュレーターを試しましたが、データベースで起こっていることはまれですSDカード。誰が何が起こっているのか考えていますか? コーディングするのは面倒で、時々うまくいかないこともあり、理由がわからない..そして、時々うまくいくので、コーディングの問題ではないと思います:S

4

1 に答える 1

1

SD カードがマウントされていることを確認します。データベースを保存するフォルダをダブルクリックし、次のエミュレータ実行時に再マウントするためのチェックボックスをオンにします。

それが役に立てば幸い。

于 2012-04-25T14:06:12.937 に答える