gpt4 book ai didi

java - SQLite where 子句

转载 作者:行者123 更新时间:2023-12-01 17:30:08 25 4
gpt4 key购买 nike

我想根据 LOCID 选择一些行。然而我无法编写 where 子句,它给出了一个编译错误,指出不兼容的操作数类型,即 String 和 int。

String selectQuery = "SELECT  * FROM " + TABLE_LOCATIONAPPS + " WHERE " 
+ KEY_LOCID == id;

这是创建查询,

String query1 = "CREATE TABLE " + TABLE_LOCATIONLABLES + "("
+ KEY_LOCID + " INTEGER PRIMARY KEY," + KEY_LOCNAME + " TEXT,"
+ ")";

LOCID类型是int可能是什么原因?

最佳答案

您没有正确构建字符串。您需要将相等比较作为字符串的一部分。

String selectQuery = "SELECT  * FROM " + TABLE_LOCATIONAPPS + " WHERE " 
+ KEY_LOCID + " = " + id;

这只是为什么手动构造 SQL 字符串不是一个好主意的一个例子。除了这些类型错误之外,您还面临 SQL 注入(inject)问题。这是当您的输入未正确清理并且 SQL 命令最终执行了您不希望执行的操作时。

关于java - SQLite where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11875679/

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