JDBC - SQLITE 选择变量

Posted

技术标签:

【中文标题】JDBC - SQLITE 选择变量【英文标题】:JDBC - SQLITE Select to variable 【发布时间】:2016-10-27 13:55:45 【问题描述】:

我正在尝试运行查询/选择语句并将其保存在变量中。我知道如何从特定列而不是从计数行中获取特定内容。

当我专门获得 MYID 时,这是有效的。

ResultSet MYIDrs = stmtCFG.executeQuery( "SELECT rowid, MYID from MYINDEX order by rowid desc limit 1;" );
MYID = MYIDrs.getString("MYID");

现在我正在尝试计算在 SQLite 客户端中有效但在 jdbc 中无效的行,因为我不知道要请求什么。

这是我所拥有的,但并没有达到我的预期。

ResultSet FILE_COUNTrs = stmtCFG.executeQuery( "SELECT count(*) from TABLE where MYID = '"+MYID+"';");
FILE_COUNT = FILE_COUNTrs.getString(?????);

问题或疑问是:我在 ?????因为我已经尝试了一切。

我期待看到一个数字。

【问题讨论】:

【参考方案1】:

真的很抱歉,我通过分配一个名称找到了我想要的东西

这是我的代码,它可以工作...

ResultSet FILE_COUNTrs = stmtCFG.executeQuery( "SELECT count(*) AS TOTAL from TABLE where MYID = '"+MYID+"';");
FILE_COUNT = FILE_COUNTrs.getString("TOTAL");

【讨论】:

那应该不行,你需要在取回你的值之前调用FILE_COUNTrs.next()【参考方案2】:

您使用了错误的数据类型。 COUNT(*) 返回整数类型,而不是字符串。

您可以这样做,而无需为 COUNT(*) 分配标签

int FILE_COUNT = FILE_COUNTrs.getInt(1); // 1: is the column index of COUNT(*)

【讨论】:

以上是关于JDBC - SQLITE 选择变量的主要内容,如果未能解决你的问题,请参考以下文章

如果表是变量(python),如何从 SQLite 表中选择

从给定范围中选择行时,sqlite3.OperationalError“SQL 变量太多”

jmeter通过org.sqlite.JDBC驱动连接db数据库

sqlite3.OperationalError:在 AWS 弹性 beantalk 上部署时 SQL 变量过多

java如何连接到数据库以及如何在数据库中插入变量

使用 java 中的 jdbc 驱动程序进行缓慢的 sqlite 插入