问题标签 [resultset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1956 浏览

javascript - javascript - 在结果集中访问数据类型为 varchar(max) 的字段

在一个 javascript 应用程序中,我们在 SQL Server 2005 上调用一个存储过程,它返回一个具有 3 列类型的结果集:bigint、varchar(20) 和 varchar(MAX)。

调用存储过程并读取结果时,没有抛出异常。枚举结果集时:

在检查 myString 的值时,该值不是我所期望的:

知道如何获得该领域的真正价值吗?

可能调用 getString() 以外的其他方法?

0 投票
2 回答
1467 浏览

java - ColdFusion 查询到 java.sql.ResultSet

我查看了"undocumentation",我可以看到如何coldfusion.sql.QueryTable从 a创建 a ResultSet,但反之则不行。那么,如何java.sql.ResultSet从 ColdFusion ( coldfusion.sql.QueryTable) 查询对象中提取?

0 投票
6 回答
23948 浏览

php - 检查有效的 MySQL 结果资源

我有这个代码:

$someQuery是我写入表单的任意查询。mysql_errno 在我编写包含错误的 mysql 查询时捕获了这种情况。但是,我刚刚发现,当我执行“从 table_name 删除”查询时,这当然不是错误,但同时 mysql_fetch_assoc 失败并显示“警告:mysql_num_rows():提供的参数不是有效的 MySQL 结果第 x 行 /blah/blah/file.php 中的资源”。

我试图在手册中寻找它(也许我只是瞎了......)但是有没有我可以用来检查 $res 是否是有效的 MySQL 结果资源的函数?

0 投票
1 回答
5293 浏览

java - Java ResultSet getString 怪异?

这个让我难住了。

我有一个 java.sql.ResultSet ,我正在从中提取字符串值,如下所示:

当我调试和检查 rs.getString("AddressLine1") 时,调试器说我有一个 30 个字符的字符串:“ATTN: ACCOUNTS PAYABLE”(删除了尾随空格)。但是,当我在此行之后立即检查我的地址对象时,它报告 addressLine1 是一个 30 个字符串的空格或其他一些空格。

当我调试和检查 rs.getString("AddressLine2") 时,调试器说我有一个 23 个字符的字符串:“10 Something Street”(删除了尾随空格)。当我在此行之后立即检查我的地址对象时,它报告 addressLine2 is null

真正让我抓狂的是,这并没有发生在每个值上,只有少数值。

我的地址类正在存储带有完全愚蠢的 getter 和 setter 的普通旧字符串。真的,我保证!这是删除其他愚蠢属性的剪切和粘贴:

这到底是怎么回事?这是某种奇怪的范围界定问题吗?它是某种字符编码的东西吗?

PS - 我正在使用 spring 的 SimpleJdbcTemplate,我正在与之交谈的“伪数据库”是通过 ODBC (sun.jdbc.odbc.JdbcOdbcDriver) 访问的 ProvideX。

0 投票
6 回答
39742 浏览

java - 用数据填充 ResultSet 的简单方法

我想模拟一个结果集。严重地。我正在重构一大段复杂的代码,它正在解析来自 ResultSet 的数据,并且我希望我的代码具有相同的行为。因此,我需要为正在重构的部分编写一个单元测试,以便能够对此进行测试。

谷歌搜索后,我想出了两个想法:

  1. 使用 EasyMock,编写 looooong 模拟序列。非常糟糕的解决方案:难以添加初始数据,难以更改数据,大型测试调试promice。
  2. 使用 Apache Derby 或 HSQLDB 创建内存数据库,从文件或字符串数​​组中填充它,使用一些神奇的 InMemoryDBUtils.query(sql) 进行查询。然后使用该结果集。不幸的是,我没有找到任何神奇的 InMemoryDBUtils 来快速编写测试:-)。IBM 文章“使用 Derby 进行持久性的隔离单元测试”似乎很好地满足了我的需求,不过......

第二种方法看起来更容易并且更受支持。

你对创建这样一个模拟有什么建议?(尽管有医生,当然:-)?我错过一些银弹吗?可能,DBUnit 是这个工具?

0 投票
2 回答
12878 浏览

java - 如何存根/模拟 JDBC ResultSet 以同时使用 Java 5 和 6?

我正在测试我的一些使用 JDBC 语句等的类,现在我遇到了 JDBC ResultSet 接口的问题:

该软件应该在 Java 5 和 Java 6 上运行,因此测试也应该在这两个版本上运行。不幸的是,Java 6 引入了一堆新方法(这仍然不是什么大问题),它们返回一堆新的类/接口,这使得事情变得更加困难。(参见Frank Carver 的 Punch Barrel - Java 6 打破 JDBC例如)

在找出这些版本差异之前,我考虑了存根和模拟之间的问题,最终选择了存根,因为 ResultSet 具有内部状态(处理当前行),这对我来说更自然地使用存根,如下所示:

但是,如果我不引入新方法 as public NClob getNClob(int columnIndex),则该类在 Java 6 下被破坏 - 如果我在 Java 5 下将它们引入该类。

我可以使用mockito(例如)回调来让状态反映在返回值中,但是有人有其他的——也许更好的——想法吗?

0 投票
3 回答
825 浏览

java - 连接损坏后 ResultSet 的行为

假设我正在进行 JDBC 调用,并且我已将数据从数据库提取到ResultSet. 但由于网络问题,我失去了与数据库的连接。

( Connection,Statement并且ResultSet未在 DB 中关闭)。我仍然可以迭代ResultSet吗?

0 投票
5 回答
17101 浏览

java - Java JDBC 延迟加载的结果集

有没有办法让你通过运行 JDBC 查询获得的 ResultSet 被延迟加载?我希望在我请求时而不是事先加载每一行。

0 投票
2 回答
16494 浏览

java - 何时关闭 JDBC 中的 Connection、Statement、PreparedStatement 和 ResultSet

关于 JDBC 编码的几个问题:

  1. 对于单个客户端应用程序,我们是否需要连接池?
  2. Connection在开始时创建一个并保持它活着而不关闭它直到应用程序退出是一个好主意吗?为什么?
  3. PreparedStatement与 相关联Connection,如果每次查询后我的连接都没有关闭,为什么不保持PreparedStatement活动状态并在其他方法中重用它?
  4. 如果我们创建PreparedStatement每个查询,数据库是否知道它是相同的PreparedStatement并在第一次之后忽略不必要的操作?
  5. PreparedStatement是不是创建一次并重用多次语句?如果是,为什么每次都需要关闭它?

我知道调用close()将释放资源。但是,如果我们知道以后要使用它,为什么要释放它,然后再请求它呢?

多客户端应用程序怎么样?我们需要一个连接池,所以我们需要每次都创建和关闭 Connection,Statement和?PreparedStatement

0 投票
7 回答
189843 浏览

java - 在文本文件 Java 中写入大量数据的最快方法

我必须在 text[csv] 文件中写入大量数据。我使用 BufferedWriter 写入数据,写入 174 mb 数据大约需要 40 秒。这是java可以提供的最快速度吗?

注意:这 40 秒还包括迭代和从结果集中获取记录的时间。:) 。174 mb 用于结果集中的 400000 行。