我有一个ArrayList
,我试图将其转换为String[],以便查询数据库,但我得到了OutofBoundException
,我不知道问题出在哪里?
将arraylist转换为String[]:
String[] idsArray = new String[selectedTopicIds.size()];
idsArray = selectedTopicIds.toArray(idsArray);
for (int i = 0; i < selectedTopicIds.size(); i++) {
idsArray[i] = selectedTopicIds.get(i);
}
然后我使用游标查询:
Cursor cursor = myDb.query(Util.TABLE_NAME,
null,
Util.KEY_TOPIC + "=?",
idsArray,
null,
null,
null);
if (cursor.moveToFirst()) {
do {
Word word = new Word();
word.setId(cursor.getInt(0));
wordList.add(word);
} while (cursor.moveToNext());
}
cursor.close();
arraylist和String[]从索引0到34都必须有35个元素
我不明白问题出在哪里?
是否试图将列util.key_topic
与数组IDSARRay
的项匹配?
如果是这样,则不应使用运算符=
而是中的运算符并构造方法
query()
的选择
参数,以便包含与IDSARRay
项数相同的?
占位符。
一种更简单的方法是创建一个逗号分隔的
idsarray
所有项的列表,类似于“,1,2,3”
和arrays.tostring()
:
String ids = Arrays.toString(idsArray).replaceAll("[\\[\\]]", ",").replace(" ", "");
并使用操作符
,比如
:
Cursor cursor = myDb.query(
Util.TABLE_NAME,
null,
"? LIKE '%,' || " + Util.KEY_TOPIC + " || ',%'",
new String[] {ids},
null,
null,
null
);
我试图做的是查询并在游标中返回vehicle\u implement表中的所有列及其左侧的所有表,通过图中所示的外键连接。在vehicle\u implement中有一些null implement\u id,我仍然需要这些行。没有,也不会有任何空的vehicle\u id。我认为,当implement\u id为null时,可能无法从implement表左侧的表中返回任何内容,这会阻止我获取所需
问题内容: 我正在将SQLAlchemy用作python项目的ORM。我创建了很少的模型/架构,并且工作正常。现在,我需要查询现有的MySQL数据库,而不仅仅是select语句,不能插入/更新。 如何围绕该现有数据库的表创建包装器?我已经简短地阅读了sqlalchemy文档和SO,但是找不到任何相关的内容。所有人都建议执行方法,在这里我需要编写原始sql查询,而我想以与使用SA模型相同的方式使用S
问题内容: 我是否需要为SQLite安装驱动程序,或者查询是否有问题? 该示例查询: 问题答案: 是的,您需要安装与数据库后端匹配的驱动程序。 关于“ BaseX ”的(非常好的)文档,在“ SQL模块”部分中 : 该模块使用JDBC连接到SQL Server。因此,您的JDBC驱动程序也需要添加到类路径中。如果使用BaseX的完整发行版,则可以将驱动程序复制到lib目录中。例如,要连接到MySQ
然而,敬虔加上知足的心便是大利了,因为我们没有带什么到世上来,也不能带什么去,只要有衣有食,就当知足。但那些想要发财的人,就陷在迷惑、落在网罗和许多无知有害的私欲里,叫人沉在败坏和灭亡中。贪财是万恶之根。有人贪恋钱财,就被引诱离了真道,用许多愁苦把自己刺透了。(1 TIMOTHY 6:6-10) SQLite数据库 SQLite是一个小型的关系型数据库,它最大的特点在于不需要服务器、零配置。前面的
问题内容: 在我的SQLite数据库管理器中,我可以查询以下内容: 这个查询从2012年7月的名为“ tripmileagetable”的表中返回了里程表总和,但是我想在android查询中编写此代码。 但是我不知道如何在database.query()方法中建立此查询,有什么可以帮助吗? 问题答案: