无法从 CursorWindow 读取第 0 行第 9 列

2024-03-05

我收到错误无法从 CursorWindow 读取第 0 行,第 9 列。在访问游标中的数据之前,请确保游标已正确初始化。另外两个人能够毫无错误地运行代码,但在我的机器上它会抛出错误。我很困惑。下面是处理 SQLite 的代码: 提前致谢,抱歉有很多代码

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class FeedSQLiteHelper extends SQLiteOpenHelper {

//Table Name
public static final String TABLE_POSTS = "comments";

//Table Column names
public static final String COLUMN_ID = "_id";
public static final String COLUMN_CAPTION = "caption";
public static final String COLUMN_NAME= "name";
public static final String COLUMN_LIKE="like";
public static final String COLUMN_DISLIKE="dislike";
public static final String COLUMN_COMMENTS = "columns";
public static final String COLUMN_ALL_COMMENTS = "allComments";
public static final String COLUMN_PHOTO = "photo";
public static final String COLUMN_CELEB = "celeb";
public static final String COLUMN_FID = "facebook_id";
public static final String COLUMN_TIME = "timestamp";

private static final String DATABASE_NAME = "commments.db";
private static final int DATABASE_VERSION = 6;

// Database creation sql statement
private static final String DATABASE_CREATE = "create table "
  + TABLE_POSTS + "(" + COLUMN_ID
  + " integer primary key autoincrement, " + COLUMN_CAPTION
  + " text not null, " + COLUMN_NAME + " text not null, " 
  + COLUMN_LIKE + " integer not null, " + COLUMN_DISLIKE + " integer not null, "
  + COLUMN_COMMENTS + " integer not null, " + COLUMN_ALL_COMMENTS + " text, " 
  + COLUMN_PHOTO + " text, " + COLUMN_FID + " text, " + COLUMN_TIME + " long);";

public FeedSQLiteHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(FeedSQLiteHelper.class.getName(),
    "Upgrading database from version " + oldVersion + " to "
        + newVersion + ", which will destroy all old data");
if(oldVersion <6) {
    final String ALTER_TBL = "ALTER TABLE " + TABLE_POSTS + " ADD COLUMN " + COLUMN_TIME     + " long;";
    db.execSQL(ALTER_TBL);
}
}

//Adding new contact
public void addContact(FeedsModel contact) {
SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();
values.put(COLUMN_NAME, contact.getName());
values.put(COLUMN_CAPTION, contact.getDesc());
values.put(COLUMN_LIKE, contact.getUps());
values.put(COLUMN_DISLIKE, contact.getDowns());
values.put(COLUMN_COMMENTS, contact.getComments());
values.put(COLUMN_ALL_COMMENTS, contact.getAllComments());
values.put(COLUMN_PHOTO, contact.getImageId());
values.put(COLUMN_FID, contact.getFID());
values.put(COLUMN_TIME, contact.getTimestamp());

// Inserting Row
db.insert(TABLE_POSTS, null, values);
db.close(); // Closing database connection
}

//Getting single contact
public FeedsModel getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.query(TABLE_POSTS, new String[] { COLUMN_ID,
        COLUMN_CAPTION, COLUMN_NAME, COLUMN_LIKE, COLUMN_DISLIKE, COLUMN_COMMENTS,      COLUMN_ALL_COMMENTS, COLUMN_PHOTO, COLUMN_FID, COLUMN_TIME }, COLUMN_ID + "=?",
        new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
    cursor.moveToFirst();

FeedsModel contact = new FeedsModel(
        Integer.parseInt(cursor.getString(0)), 
        cursor.getString(1), 
        cursor.getString(2), 
        Integer.parseInt(cursor.getString(3)), 
        Integer.parseInt(cursor.getString(4)),
        Integer.parseInt(cursor.getString(5)),
        cursor.getString(6),
        cursor.getString(7),
        cursor.getString(8),
        Long.parseLong(cursor.getString(9)));

// return contact
return contact;
}

//filters the news feed for the 'Me' option
public List<FeedsModel> getMe(String me)
{
List<FeedsModel> contactList = new ArrayList<FeedsModel>();

String selectQuery = "SELECT * FROM " + TABLE_POSTS + " WHERE " + COLUMN_FID + "= "+ me;

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
    do {
        FeedsModel contact = new FeedsModel();
        contact.setId(Integer.parseInt(cursor.getString(0)));
        contact.setDesc(cursor.getString(1));
        contact.setName(cursor.getString(2));
        contact.setUps(Integer.parseInt(cursor.getString(3)));
        contact.setDowns(Integer.parseInt(cursor.getString(4)));
        contact.setComments(Integer.parseInt(cursor.getString(5)));
        contact.setAllComments(cursor.getString(6));
        contact.setImageId(cursor.getString(7));
        contact.setFID(cursor.getString(8));
        contact.setTimestamp(Long.parseLong(cursor.getString(9)));
        // Adding contact to list
        contactList.add(contact);
    } while (cursor.moveToNext());
}

// return contact list
return contactList;
}

//filters the news feed for the 'Me' option
public List<FeedsModel> getMostRecent()
{
List<FeedsModel> contactList = new ArrayList<FeedsModel>();

String selectQuery = "SELECT * FROM " + TABLE_POSTS + " ORDER BY " + COLUMN_TIME + " DESC";

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
  do {
      FeedsModel contact = new FeedsModel();
      contact.setId(Integer.parseInt(cursor.getString(0)));
      contact.setDesc(cursor.getString(1));
      contact.setName(cursor.getString(2));
      contact.setUps(Integer.parseInt(cursor.getString(3)));
      contact.setDowns(Integer.parseInt(cursor.getString(4)));
      contact.setComments(Integer.parseInt(cursor.getString(5)));
      contact.setAllComments(cursor.getString(6));
      contact.setImageId(cursor.getString(7));
      contact.setFID(cursor.getString(8));
      contact.setTimestamp(Long.parseLong(cursor.getString(9)));
      // Adding contact to list
      contactList.add(contact);
  } while (cursor.moveToNext());
}

// return contact list
return contactList;
}

//Getting All Contacts
public List<FeedsModel> getAllContacts() {

List<FeedsModel> contactList = new ArrayList<FeedsModel>();
// Select All Query
String selectQuery = "SELECT  * FROM " + TABLE_POSTS;

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
    do {
        FeedsModel contact = new FeedsModel();
        contact.setId(Integer.parseInt(cursor.getString(0)));
        contact.setDesc(cursor.getString(1));
        contact.setName(cursor.getString(2));
        contact.setUps(Integer.parseInt(cursor.getString(3)));
        contact.setDowns(Integer.parseInt(cursor.getString(4)));
        contact.setComments(Integer.parseInt(cursor.getString(5)));
        contact.setAllComments(cursor.getString(6));
        contact.setImageId(cursor.getString(7));
        contact.setFID(cursor.getString(8));
        contact.setTimestamp(Long.parseLong(cursor.getString(9)));
        // Adding contact to list
        contactList.add(contact);
    } while (cursor.moveToNext());
}

// return contact list
return contactList;

}

//Getting contacts Count
public int getContactsCount() {

String countQuery = "SELECT  * FROM " + TABLE_POSTS;
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();

// return count
return cursor.getCount();

}
//Updating single contact
public int updateContact(FeedsModel contact) {

SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();
values.put(COLUMN_NAME, contact.getName());
values.put(COLUMN_CAPTION, contact.getDesc());
values.put(COLUMN_LIKE, contact.getUps());
values.put(COLUMN_DISLIKE, contact.getDowns());
values.put(COLUMN_COMMENTS, contact.getComments());
values.put(COLUMN_ALL_COMMENTS, contact.getAllComments());
values.put(COLUMN_PHOTO, contact.getImageId());
values.put(COLUMN_FID, contact.getFID());
values.put(COLUMN_TIME, contact.getTimestamp());

// updating row
return db.update(TABLE_POSTS, values, COLUMN_ID + " = ?",
        new String[] { String.valueOf(contact.getId()) });

}

//Deleting single contact
public void deleteContact(FeedsModel contact) {

SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_POSTS, COLUMN_ID + " = ?",
        new String[] { String.valueOf(contact.getId()) });
db.close();

}

} 

Logcat:

E/CursorWindow(841): Failed to read row 0, column 9 from a CursorWindow which has 3 rows, 9 columns.
D/AndroidRuntime(841): Shutting down VM
W/dalvikvm(841): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
E/AndroidRuntime(841): FATAL EXCEPTION: main
E/AndroidRuntime(841): java.lang.RuntimeException: Unable to start activity ComponentInfo{edu.Drake.doppelganger/edu.Drake.doppelganger.MainActivity}: java.lang.IllegalStateException: Couldn't read row 0, col 9 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
E/AndroidRuntime(841):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
E/AndroidRuntime(841):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
E/AndroidRuntime(841):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime(841):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
E/AndroidRuntime(841):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(841):  at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(841):  at android.app.ActivityThread.main(ActivityThread.java:5041)
E/AndroidRuntime(841):  at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(841):  at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(841):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime(841):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
E/AndroidRuntime(841):  at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(841): Caused by: java.lang.IllegalStateException: Couldn't read row 0, col 9 from CursorWindow.  Make sure the Cursor is initialized correctly before accessing data from it.
E/AndroidRuntime(841):  at android.database.CursorWindow.nativeGetString(Native Method)
E/AndroidRuntime(841):  at android.database.CursorWindow.getString(CursorWindow.java:434)
E/AndroidRuntime(841):  at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
E/AndroidRuntime(841):  at edu.Drake.doppelganger.FeedSQLiteHelper.getAllContacts(FeedSQLiteHelper.java:198)
E/AndroidRuntime(841):  at edu.Drake.doppelganger.FeedFragment.onActivityCreated(FeedFragment.java:65)
E/AndroidRuntime(841):  at android.app.Fragment.performActivityCreated(Fragment.java:1703)
E/AndroidRuntime(841):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:903)
E/AndroidRuntime(841):  at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1057)
E/AndroidRuntime(841):  at android.app.BackStackRecord.run(BackStackRecord.java:682)
E/AndroidRuntime(841):  at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1435)
E/AndroidRuntime(841):  at android.app.Activity.performStart(Activity.java:5113)
E/AndroidRuntime(841):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153)
E/AndroidRuntime(841):  ... 11 more

这是因为您在检查数据是否可用之前尝试获取数据。

if (cursor.moveToFirst()) {
    do {
        // your content
    } while (cursor.moveToNext());
}

将此块更改为

while (cursor.moveToNext()) {
        // your content
}

像这样。

这肯定会对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 CursorWindow 读取第 0 行第 9 列 的相关文章

  • Android 中的列表视图分页

    我有一个列表视图 其中显示了 50 个元素 我决定对视图进行分页 以便视图的每个部分都有 10 个元素 然后单击 下一个 按钮以获取下一个 10 个元素 如何设置10个数据 我关注这篇文章http rakhi577 wordpress co
  • TextInputLayout 对于在 EditText 中以编程方式给出提示没有效果

    我有一个 EditText 它的父级是 TextInputLayout 我试图以编程方式为 EditText 提供提示 不在布局中 在这种情况下 文本输入提示动画不起作用 它像简单的 EditText 一样工作 有人可以建议如何处理它吗 下
  • 在 IntelliJ 中运行 Spring Boot 会导致 Unable to load 'javax.el.E​​xpressionFactory'

    我正在尝试运行一个简单的 Spring Boot 应用程序 该应用程序具有以下 Maven pom file
  • 填充 CoreData 创建的 sqlite 数据库

    我有一个由 CoreData 模型自动创建的 sqlite DB 但我的应用程序不会让用户能够将数据写入其中 而是我想用程序所需的所有数据预先填充它 我的问题是 CoreData 创建的 sqlite DB 具有未知的表和字段 这些表和字段
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • 是否可以使用 CardView 为浮动操作按钮制作阴影?

    I know CardView不是为此而设计的 但理论上如果cardCornerRadius view size 2它应该导致圆圈 我错过了什么吗 绘制真实的动画阴影并不困难 您可以尝试在 Froyo 等任何 Android 设备上实现 L
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • JSch中如何设置文件类型和文件传输模式?

    我使用 Apache Common NetFTPClient并设置了我的ftpClient在上传文件之前使用如下所示的方法 ftpClient setFileType FTP BINARY FILE TYPE ftpClient setFi
  • 如何在 Android 上将动态 alpha 遮罩应用于文本

    I want to make a dynamic alpha mask with drawable shapes as circles or whatever and apply it to a drawed text on Android
  • Hibernate HQL:将对值作为 IN 子句中的参数传递

    我面临一个问题 如何使用 IN 子句将查询中的成对值的参数传递给 HQL 例如 select id name from ABC where id reg date in x y 并且参数是不同的数据类型string id 和reg date
  • Android Gradle 同步失败:无法解析配置“:classpath”的所有工件

    错误如下 Caused by org gradle api internal artifacts ivyservice DefaultLenientConfiguration ArtifactResolveException Could n
  • 了解 Spark 中的 DAG

    问题是我有以下 DAG 我认为当需要洗牌时 火花将工作划分为不同的阶段 考虑阶段 0 和阶段 1 有些操作不需要洗牌 那么为什么 Spark 将它们分成不同的阶段呢 我认为跨分区的实际数据移动应该发生在第 2 阶段 因为这里我们需要cogr
  • 在android中创建SQLite数据库

    我想在我的应用程序中创建一个 SQLite 数据库 其中包含三个表 我将向表中添加数据并稍后使用它们 但我喜欢保留数据库 就好像第一次安装应用程序时它会检查数据库是否存在 如果存在则更新它 否则如果不存在则创建一个新数据库 此外 我正在制作
  • 使用 JAD 反编译 java - 限制

    我正在尝试使用 Java 中的 JAD 反编译几个 jar 文件 我也尝试过 JD GUI 但运气更差 但出现了很多错误 一种类型 易于修复 似乎是内部类 但我也发现了这段代码 static int SWITCH TABLE atp com
  • 公共方法与公共 API

    在干净的代码书中 有一个观点是 公共 API 中的 Javadocs 同样 Effective java 一书也有这样的内容 项目 56 为所有公开的 API 元素编写文档注释 所以这就是我的问题 所有公共方法都被视为公共 API 吗 它们
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • 如何正确编写AttributeSet的XML?

    我想创建一个面板适用于 Android 平台的其他小部件 http code google com p android misc widgets 在运行时 XmlPullParser parser getResources getXml R
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • R.java是手动修改的!恢复到生成的版本

    我在布局中添加了一个 xml 文件 之后这个错误就来了 但问题是我还没有接触过 R java 文件 现在 在我的新活动中 我要将其内容视图设置为我新创建的 xml 文件 但是当我执行 R layout 时 新创建的 xml 不会出现在建议中
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We

随机推荐

  • 如何在 PyQt5 中对 QProcess 进行排队?

    我想在 PyQt5 中对 QProcess 进行排队 或者只是阻塞 同时仍然使用 readAll 读取标准输出 相当于 subprocess call 而不是 subprocess Pop 当使用 waitForFinished 时 带有
  • 为什么会发生这种隐含的歧义行为?

    我有一个类型类Search 其中有一个实例Search A 如果我们有一个TypeClass1 A or a TypeClass2 A 实例 优先考虑1实例 编译如下 trait TypeClass1 A trait TypeClass2
  • 如何在一个 MVC 应用程序中组合 @DataJpaTest @SpringBootTest 来测试每一层?

    Here https stackoverflow com a 52968130 10894456 https stackoverflow com a 52968130 10894456很好地解释了为什么 DataJpaTest Spring
  • IBM Conversation API - 端点 URL 和参数应该是什么

    我尝试使用 Postman 工具访问 IBM 对话 但收到 404 未找到资源 错误 端点 https gateway watsonplatform net conversation api v1 workspaces 883c7704 0
  • 严格别名和指向联合字段的指针

    我有一个关于严格别名规则 联合和标准的问题 假设我们有以下代码 include
  • 清除网站的存储持久标志

    我正在使用navigator storage persist Chrome 上的 API 并已成功将其设置为true 但我希望 至少为了测试 能够清除设置放回false 据我所知 API 定义不包含需要清除的方法或标志 看https dev
  • 如何检测我是否在 next.js 中的客户端服务器上?

    我正在使用带有 Next js 的客户快递服务器 它在容器内运行 我正在做一个http请求isomorphic fetch获取我的渲染数据 我想做localhost当在服务器上运行时mysite com在客户端运行时 不确定实现此目的的最佳
  • 如何将 javascript 函数存储在队列中以便最终执行它们[重复]

    这个问题在这里已经有答案了 我在 javascript 中创建了一个 Queue 类 我想将函数作为数据存储在队列中 这样我就可以建立请求 函数调用 并在需要时响应它们 实际执行函数 有没有什么方法可以将函数存储为数据 有点类似于 setT
  • xmlserializer 未通过导入正确反序列化架构

    我一直在尝试使用从 xsd exe 中的架构生成的类来反序列化 C 中的 xml 文件 不幸的是 只有部分文件被正确反序列化 其余部分由于我无法解决的原因而返回为空 我的流程如下 从生成 C 代码的 myschema xsd 文件开始
  • PyEnv BUILD 在 MacOS 上安装 Python 失败

    尝试安装时Python 3 6 6 for Airflow using PyEnv on MacOS 我遇到构建失败与以下堆栈跟踪 File private var folders 6y kf699bqj2sgcgjshb20fr5zh00
  • 关于 AT&T x86 语法设计的问题

    谁能向我解释为什么 AT T 语法中的每个常量前面都有一个 为什么所有寄存器都有 这是否只是又一次试图让我做很多蹩脚的打字 另外 我是唯一一个发现 16 esp 相比之下确实违反直觉 esp 16 我知道它编译成同样的东西 但为什么有人想在
  • Docker 数据卷容器 - 我可以在 swarm 之间共享吗

    我知道如何使用 volumes from 创建数据卷容器并将其安装到多个其他容器 但我确实有一些关于它的用法和限制的问题 情况 我希望使用数据卷容器来为我的 Web 应用程序存储用户上传的图像 此数据卷容器将由运行 Web 前端的许多其他容
  • jQuery 检测点击禁用的提交按钮

    Fiddle http jsfiddle net ugzux http jsfiddle net ugzux 如您所见 我有一个带有禁用 通过 javascript 提交按钮的表单 无论如何 我希望能够将单击事件绑定到它 这样我就可以在允许
  • ARKitestimatedVerticalPlane命中测试获取平面旋转

    我正在使用 ARKit 在运行时检测墙壁 当触摸屏幕的某个点时 我使用 estimatedVerticalPlane 类型的命中测试 我正在尝试将 Y 旋转应用于与检测到的平面方向相对应的节点 我想计算旋转 private func com
  • VBA 将工作表保存到受密码保护的 PDF

    以下命令将活动表另存为 PDF ActiveSheet ExportAsFixedFormat Type xlTypePDF Filename C blahblah2 pdf Quality xlQualityStandard Ignore
  • 使用 Dancer 和 Postgres 的简单登录/授权系统

    作为 Perl 的新手 我正在努力寻找一种简单的方法来做到这一点 我在数据库中创建了一个非常简单的表 CREATE TABLE users id SERIAL NOT NULL PRIMARY KEY username TEXT NOT N
  • 如何在 Yii2 html::dropdownlist 中保留所选值?

    我认为有以下代码 and submit button 我的代码运行良好 但有一个大问题 我选择一个区域并单击搜索按钮 结果正确 当我单击下一页时 每页显示 10 个结果 它给了我
  • 如何在 WinDbg 中删除断点 ntdll!DbgBreakPoint+0x1

    我正在调试一个在将 WinDbg 设置为事后调试器时崩溃的程序 我在地址 77f7f571 设置了断点 当它被触发时 我常常得到以下信息 ERROR Symbol file could not be found Defaulted to e
  • 导入库 Oshi

    我想开发一个显示计算机信息的程序 我找到了一个名为 Oshi https github com oshi oshi 当我导入该库并运行我的代码时 出现异常 Exception in thread main java lang NoClass
  • 无法从 CursorWindow 读取第 0 行第 9 列

    我收到错误无法从 CursorWindow 读取第 0 行 第 9 列 在访问游标中的数据之前 请确保游标已正确初始化 另外两个人能够毫无错误地运行代码 但在我的机器上它会抛出错误 我很困惑 下面是处理 SQLite 的代码 提前致谢 抱歉