Android 无法从数据库中获取ColumnIndex
我只是不能得到我的数据库的列索引,而其他列索引工作正常。 该列是image(item4),我得到的索引是-1Android 无法从数据库中获取ColumnIndex,android,database,Android,Database,我只是不能得到我的数据库的列索引,而其他列索引工作正常。 该列是image(item4),我得到的索引是-1 CursorDb.moveToFirst(); if (CursorDb.getCount()>0) do { int i=CursorDb.getColumnIndex(item2);//ok int t=Cur
CursorDb.moveToFirst();
if (CursorDb.getCount()>0)
do
{
int i=CursorDb.getColumnIndex(item2);//ok
int t=CursorDb.getColumnIndex(item3);//ok
int z=CursorDb.getColumnIndex(item4);//not ok
byte b[]=CursorDb.getBlob(4);
我的创建代码和插入正确工作。
创建是
private static final String DATABASE_CREATE =
"create table if not exists titles (_id integer primary key autoincrement, "
+ "link text not null UNIQUE, RssTitle text not null,Rtl text not null,image BLOB);";
谢谢你的帮助 如果getColumnIndex()
返回-1,则表示该列不在查询中。仔细检查SELECT语句并添加item4
"SELECT " + item2 + ", " + item3 + ", " + item4 + ", FROM " + TABLE_NAME....
另外,Cursor#moveToFirst()
根据光标是否为空返回true或false。您不需要同时使用moveToFirst()
和getCount()
:
item4
的值是多少?item4是一个字符串,其值为Image4。是否将正确的列传递到SQLiteDatabase.query(…)?
if(CursorDb.moveToFirst())
do
{