gpt4 book ai didi

java - setBytes 的参数索引有什么作用

转载 作者:行者123 更新时间:2023-11-30 02:41:48 25 4
gpt4 key购买 nike

我有以下代码行:

conn.prepareStatement(SQL).setBytes(1, bos.toByteArray());

其中SQL是我准备好的语句字符串,bos是我的byteArrayOutputStream

我知道 setBytes 中的参数 0 是针对 parameterIndex 的,根据 Oracles Documentation其中指出:

Sets the designated parameter to the given Java byte value.

我的问题是这到底是什么意思?如果我将 1 与 2(或任何其他数字)交换会发生什么?它有什么功能?

我查看了一些 SQLite 教程,但没有人提到它实际上是做什么的。

最佳答案

准备好的语句的 SQL 语句具有用 ? 标记的占位符。setBytes(或任何其他 setX 方法)的第一个参数确定您要将值分配给这些占位符中的哪一个。

1 对应于 SQL 语句中的第一个 ?,2 对应于第二个 ?,依此类推...

例如,如果您的声明是:

    "SELECT X, Y " +
"FROM TableName " +
"WHERE Z = ?"
);

setBytes(1, bos.toByteArray()) 将传递的字节数组分配给语句中的第一个(也是唯一的)?。在该示例中,setBytes(2, bos.toByteArray()) 将是一个错误,因为语句中只有一个 ?

关于java - setBytes 的参数索引有什么作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41459041/

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