作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
测试.java:
SQLiteDatabase db=openOrCreateDatabase("data",MODE_PRIVATE,null);
db.execSQL("CREATE TABLE IF NOT EXISTS location(ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME VARCHAR(100),CBcode VARCHAR(100));");
Cursor c1 = db.rawQuery("Select NAME from location", null);
Cursor c2 = db.rawQuery("Select CBcode from location", null);
if(c1==null || c2 == null)
{
Toast.makeText(getBaseContext(), "Database values empty, please refer Help option befor you start using the app..", Toast.LENGTH_LONG).show();
}
else
{
c1.moveToFirst();
c2.moveToFirst();
int col1=c1.getColumnIndex("NAME");
int col2=c2.getColumnIndex("CBcode");
for(c1.moveToFirst(); c1.moveToLast(); c1.moveToNext())
{
for(c2.moveToFirst(); c2.moveToLast(); c2.moveToNext())
{
if(loc_name == c1.getString(col1))
{
my_cb = c2.getString(col2);
c2.close();
c1.close();
Toast.makeText(getBaseContext(), "alarm has been set", Toast.LENGTH_LONG).show();
break;
}
else
{
// Toast.makeText(getBaseContext(), "No such values in database, please read Help carefully before using lovisis!", Toast.LENGTH_LONG).show();
}
}
}
}
db.close();
在我上面的代码中,我试图访问数据库并在字符串匹配时启动一个新的 Activity ,但我正在关闭,但从未在数据库错误上显式调用。请帮忙
最佳答案
纳 bean ,
我已经按如下方式更改了您的代码,它对我有用。请检查并告诉我。
SQLiteDatabase db=openOrCreateDatabase("data",MODE_PRIVATE,null);
db.execSQL("CREATE TABLE IF NOT EXISTS location(ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME VARCHAR(100),CBcode VARCHAR(100));");
Cursor c1 = db.rawQuery("Select NAME from location", null);
Cursor c2 = db.rawQuery("Select CBcode from location", null);
if(c1==null || c2 == null)
{
Toast.makeText(getBaseContext(), "Database values empty, please refer Help option befor you start using the app..", Toast.LENGTH_LONG).show();
}
else
{
c1.moveToFirst();
c2.moveToFirst();
int col1=c1.getColumnIndex("NAME");
int col2=c2.getColumnIndex("CBcode");
while(c1.moveToNext() && c2.moveToNext())
{
if(loc_name.equals(c1.getString(col1)))
{
my_cb = c2.getString(col2);
Toast.makeText(getBaseContext(), "alarm has been set", Toast.LENGTH_LONG).show();
}
else
{
// Toast.makeText(getBaseContext(), "No such values in database, please read Help carefully before using lovisis!", Toast.LENGTH_LONG).show();
}
}
}
c2.close();
c1.close();
db.close();
你的错误是,1. 两个 for 循环是昂贵的,如图所示使用 while 和 &&。2. 同时关闭c1和c2。
关于android - close() 从未在数据库上显式调用,android 数据库未关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951487/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!