gpt4 book ai didi

java - 我在 SQLITE 中执行选择时出错

转载 作者:行者123 更新时间:2023-12-01 09:31:23 25 4
gpt4 key购买 nike

我正在尝试在 Android Java 应用程序中的 onUpgrade() 处执行此操作:

try {
db.execSQL("SELECT fechacontrol from parametres", null);
} catch(Exception e) {
e.printStackTrace();
db.execSQL("ALTER TABLE parametres ADD COLUMN fechacontrol BIGINT");
}

我的问题是,列 fechacontrol 存在,但我总是以异常 block 结束,然后应用程序因重复的列名称而崩溃。我做错了什么?

谢谢大家。

最佳答案

execSQL(anything, null) 将因 null binargs 抛出 IllegalArgumentException。这就是为什么你总是会陷入陷阱。有 execSQL(String) 重载,用于在没有绑定(bind)参数的情况下执行 SQL。

但是,数据库升级不应该这样进行。架构版本号存储在数据库文件中,您可以在 onUpgrade() 中将其作为参数获取。使用该信息来推断需要更新的内容。

关于java - 我在 SQLITE 中执行选择时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39373562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com