nei*_*lnm 4 java mysql callable-statement
我正在遵循有关可调用语句的指南。
在本指南中,它说我需要使用以下语句注册 out 参数:
callsts.registerOutParameter(2, java.sql.Types.VARCHAR);
Run Code Online (Sandbox Code Playgroud)
问题:为什么我需要这样做/它有什么作用?
完整的Java代码:
String getcall = "{call gettitle (?,?)}";
CallableStatement callsts = connect.prepareCall(getcall);
int nID = 15;
callsts.setInt(1, nID);
callsts.registerOutParameter(2, java.sql.Types.VARCHAR);
callsts.execute();
String calltitle = callsts.getString(2);
System.out.println("Callable Stamement Title: "+calltitle);
Run Code Online (Sandbox Code Playgroud)
mySQL程序:
DELIMITER $$
DROP PROCEDURE IF EXISTS `nothingtowear`.`gettitle` $$
CREATE PROCEDURE `nothingtowear`.`gettitle` (
IN nothingtowear_ID INT,
OUT nothingtowear_TITLE VARCHAR( 255 ))
BEGIN
SELECT Title INTO nothingtowear_TITLE
FROM articles
WHERE ID = nothingtowear_ID;
END $$
DELIMITER;
Run Code Online (Sandbox Code Playgroud)
输出参数是传递给该过程写入的 SQL 存储过程的参数。在 MySQL 中,也可以通过 SET 命令来完成
SET out_param1 = value
Run Code Online (Sandbox Code Playgroud)
请参阅mysql 存储过程:out 参数作为另一个示例
registerOutParameter将告诉 JDBC 驱动程序这是一个 otuput 参数,需要如此对待。例如,它需要使用特殊的语法来调用过程并在调用语句后检索输出值
| 归档时间: |
|
| 查看次数: |
35575 次 |
| 最近记录: |