gpt4 book ai didi

java - 为什么我无法从executeQuery obj 中按整数访问列数据?

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:55 29 4
gpt4 key购买 nike

我是 NetRexx 和 Java 的新手,只花了两天时间。

我尝试修改 IBM 红皮书示例来创建一个在 firebird 数据库上执行 SQL 的多线程 tcp 服务器。

第一次尝试在这里 http://www.compkarori.co.nz:8000/NetRexx/JDBC-bridge.nrx

当我尝试循环遍历列数据时

loop col=1 to nbr_columns 
say 'Column' col
-- say rs.getString(col) -- gives error Message: Column name 1 not found in result set.
if buffer = '' then
buffer = rs.getString(column_name).trim()
else
buffer = buffer || '|' || rs.getString(column_name).trim()
end

如果我使用循环计数器作为索引,即:rs.getString(col),我会收到代码注释中的错误,因此我将求助于使用列名。但如果我这样做:

say rs.getString(1)

没关系。这是因为 col 是 Rexx 字符串而不是 Java 整数还是其他什么?

此外,我必须在每次查询后关闭套接字和线程,否则我不会收到任何响应。这是必要的还是我可以以某种方式让线程运行以接受新查询?

(ps:有人可以添加 NetRexx 标签吗??)

最佳答案

getString 方法重载,这就是为什么我需要强制使用 int 值。我想出了如何重用线程和套接字..注意到只有 Oracle 和 Firebird/Interbase JDBC 连接对象似乎是线程安全的

关于java - 为什么我无法从executeQuery obj 中按整数访问列数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3129112/

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