gpt4 book ai didi

java - 在java和sql server中的存储过程中传递列名?

转载 作者:行者123 更新时间:2023-12-02 03:14:31 24 4
gpt4 key购买 nike

我正在开发 JSP 应用程序,现在我真的陷入困境。数据库管理员给了我一个存储过程,他希望我传递与存储过程中的值相对应的列名。我问他是否可以在准备好的语句中传递索引值而不是列名,但后来他告诉我,如果我使用索引值,这可能是一个主要问题。因此,请建议我一种方法,以便我可以在准备好的语句中传递列名称而不是索引值。

例如 - 目前说我的程序被称为

 mystmt = conn.preparestatement("exec p_addeditcustomer ?,?,?");
mystmt.setString(1,"A");
mystmt.setString(2,"B");
mystmt.setString(3,"C");

现在,我的数据库管理员希望我通过诸如

mystmt.setString("@CustomerName","A");
mystmt.setString("@CustomertTitle","B");
mystmt.setString("@CustomerCountry","C");

请告诉我如何做到这一点。我真是一窍不通。

最佳答案

只需使用 CallableStatement ,这意味着与存储过程一起使用:

  CallableStatement cstmt = conn.prepareCall("{call p_addeditcustomer(?,?,?)}");

cstmt.setString("CustomerName", "A");
cstmt.setString("CustomertTitle", "B");
cstmt.setString("CustomerCountry", "C");

关于java - 在java和sql server中的存储过程中传递列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40503020/

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