gpt4 book ai didi

java - java - 如何使用结果集以及输入、输出参数在java中调用SQL Server存储过程?

转载 作者:行者123 更新时间:2023-12-04 06:00:17 25 4
gpt4 key购买 nike

在 Oracle 中,我可以使用以下内容:

    String query = "{ ? = call get_config_func( ?, ? ) }";
try
{
CallableStatement cs = con.prepareCall( query );
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.setInt( 2, i );
cs.registerOutParameter(3, java.sql.types.INTEGER);
cs.execute();
ResultSet results = ((OracleCallableStatement)cs).getCursor (1);
String val = cs.getString(3);

if( results != null)
{
while( results.next() )
{
.....

但是,我坚持引用不适用于 SQL Server 的 Oracle。

我尝试了以下方法:
    String query = "{ call uspGetLastLocation( ?, ? }";
try
{
cs = con.prepareCall( query );
cs.setLong(1, id );
cs.registerOutParameter(2, java.sql.Types.VARCHAR );
rs = cs.executeQuery();

while(rs.next())
{
.....

但我收到以下错误

Incorrect syntax near '{'.



我见过使用 PreparedStatement 的例子而不是 CallableStatement并将查询更改为
    String query = "EXEC uspGetLastLocation  ?, ?";

但我不知道如何处理 Output 参数。

任何建议或指向引用的指针?

谢谢。

最佳答案

看起来你错过了代码中的一个括号。
尝试这个

String query = "{ call uspGetLastLocation( ?, ? )}";

关于java - java - 如何使用结果集以及输入、输出参数在java中调用SQL Server存储过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994581/

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