【发布时间】:2011-08-04 13:15:25
【问题描述】:
我该怎么做:(为什么它不起作用?-模拟器结束应用程序而没有错误消息)
String [] aSQL;
aSQL = new String[50];
aSQL[0] = "CREATE TABLE tbl_team ("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"teamName TEXT NOT NULL);";
aSQL[1] = "CREATE TABLE tbl_cardType ("+
"_id INTEGER PRIMARY KEY AUTOINCREMENT, "+
"cardTypeName TEXT NOT NULL);";
for (int i = 0; i < aSQL.length; i++){
db.execSQL(aSQL[i]);
}
不必这样做:
db.execSQL(aSQL[0])
db.execSQL(aSQL[1])
如果有人想知道我为什么要这样做。这是因为我的时间很紧,不知道其他方法。我尝试在 SQLite 浏览器中创建数据库但失败了。将其放入 assets 文件夹并在安装期间将其复制。
当然要运行的 SQL 命令远不止 2 个。
非常感谢您的任何帮助。
【问题讨论】:
-
你的 logcat 说什么?您说模拟器在没有任何错误消息的情况下结束了您的应用程序。通常模拟器只会说强制关闭或 ANR。
-
已经在 LogCat 中查看过,没有发现问题,没有红线,表示被信号 (11) 终止。我通常会收到您提到的错误消息,但在这种情况下不会,谢谢
-
只是天真-它的编写方式,它是否也尝试做
db.execSQL(aSQL[2])(然后是3,4,...),因为aSQL [2]没有初始化? aSQL.length 应该是 50,不是吗? -
Joubarc 可能是对的。我对 .length 是否给出数组大小或初始化了多少变量有误解。
标签: android arrays sqlite iteration