Android 使用SQLite数据库时出现IllegalStateExcepton
当我运行以下代码时,我会在Toast消息中显示此异常:Android 使用SQLite数据库时出现IllegalStateExcepton,android,android-sqlite,Android,Android Sqlite,当我运行以下代码时,我会在Toast消息中显示此异常:Java.lang.IllegalStateExcepton:对字段槽0,-1的请求不正确。numRows=1,numColumns=1 SQLiteDatabase sb; String g="o"; try { sb=SQLiteDatabase.openDatabase("data/data/com.example.datatestx/ma", null, SQLiteDatabase.CREATE_IF
Java.lang.IllegalStateExcepton:对字段槽0,-1的请求不正确。numRows=1,numColumns=1
SQLiteDatabase sb;
String g="o";
try {
sb=SQLiteDatabase.openDatabase("data/data/com.example.datatestx/ma", null, SQLiteDatabase.CREATE_IF_NECESSARY);
sb.execSQL("create table if not exists blac (" + " phone text , " + " ftime text, " + " ttime text ); " );
sb.execSQL( "insert into blac(phone, ftime,ttime) values ('01711233434', '333333','33333' );" );
sb.execSQL( "insert into blac(phone, ftime,ttime) values ('01761233433', '777' ,'77777');" );
sb.execSQL( "insert into blac(phone, ftime,ttime) values ('01712333323', '999','33433' );" );
Cursor c1 = sb.rawQuery( "select count(*) as Total from blac", null);
if(c1.getCount()>0){
c1.moveToFirst();
do {
g=g+c1.getString(c1.getColumnIndex("phone"));
}while(c1.moveToNext());
} c1.close();
sb.close();
Toast.makeText(getApplicationContext(), "Success!"+g, Toast.LENGTH_LONG).show();
}
catch (Exception e)
{
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
}
我不知道这为什么不起作用。有人能帮忙吗?在您的
查询中,选择您要求的计数(*)为总计
,这意味着您的结果集将有一个名为“总计”的字段,其中包含总行数
因此,从这个结果集中读取phone
字段是没有意义的
试着替换
Cursor c1 = sb.rawQuery( "select count(*) as Total from blac", null);
借
请发布crashfiddler的整个logcat输出,现在在logcat中出现类似“sqlite returned:error code=1,msg=near“as”:syntax error”的异常。我刚才编辑了查询,它必须是“select*from blac”
(而不是“select*as Total from blac”
)
Cursor c1 = sb.rawQuery( "select * from blac", null);