Java 从SQLITE检索数据时出错

Java 从SQLITE检索数据时出错,java,android,sqlite,Java,Android,Sqlite,我的android应用程序使用SQLITE。 当我尝试从某个表中检索数据时,除了一列(特别是varchar类型的列)和一个巨大的文本(base64字符串,将转换为文件)之外,其他一切都正常工作 当我尝试从此表中检索任何其他列时,检索成功,但在此列上出现错误: java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the Cursor is initialize

我的android应用程序使用SQLITE。 当我尝试从某个表中检索数据时,除了一列(特别是varchar类型的列)和一个巨大的文本(base64字符串,将转换为文件)之外,其他一切都正常工作

当我尝试从此表中检索任何其他列时,检索成功,但在此列上出现错误:

 java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow.  Make sure the   
  Cursor is initialized correctly before accessing data from it.
这是我的密码:

    String Filequery= "Select FileName from Hyperlinks_GVT where Taskcode='"+currentTaskCode+"' 
                        and Name='"+tempItem.getText()+"'";
                  Log.d(TAG,"Query is: "+Filequery);
                try {
                    cursor3 = MainActivity.myDataBase.rawQuery(Filequery, null);
                    String Data="";
                    byte[] btData;
                    if (cursor3 != null && cursor3.moveToFirst()){
                        do {
                         Data=cursor3.getString(cursor3.getColumnIndex("FileName"));
                        } while (cursor3.moveToNext());
                    }
                    cursor3.close();
下表:

CREATE TABLE [Hyperlinks_GVT](
[ID]  integer PRIMARY KEY AUTOINCREMENT NOT NULL,
[Taskcode] [int] NOT NULL,
[TaskYear] [int] NOT NULL,
[Name] [varchar](100) NOT NULL,
[FileName] [varchar] NOT NULL,
[Notes] [varchar](200) NOT NULL,
[UserID] [nvarchar](50) NOT NULL,
[CreationDT] [varchar](100)  NOT NULL)
文件名是包含大数据的列 注意:当我使用SQLITE管理器在Firefox中执行查询时,查询会检索结果,因此查询很好,没有错误。 任何帮助都将不胜感激。

试试以下方法:
将文件名的数据类型从varchar更改为TEXT。

尝试在FileNamem中使用硬编码的小文本,然后检查它是否可以使用小文本。我是否应该更改列类型?。虽然我不认为这是一个问题,因为正如我所说,该列保存着数据,可以在SQLITE管理器中查看,所以代码是问题所在,我想是谁给出了a-1以及为什么。我是不是不清楚这个问题,在我问之前我已经试着解决了?!blob需要更少的存储空间,但对于足够大的文件,这并不重要。在任何情况下,大字符串和BLOB的行为都是相同的。我试过了,现在我有一个额外的错误:12-10 11:15:26.104:W/CursorWindow(11911):窗口已满:请求的分配3382005字节,可用空间2096708字节,窗口大小2097152 bytesSo我想我无法同时检索到那么多数据:/?现在您的数据已加载到游标中,但窗口已满。尝试使用具有更好内存管理的不同设备。