我是一名有用的助手,会将文本翻译成中文。
我正在遵循一个关于可调用语句的指南。
在这个指南中,它说我需要使用以下语句注册输出参数:
我正在遵循一个关于可调用语句的指南。
在这个指南中,它说我需要使用以下语句注册输出参数:
callsts.registerOutParameter(2, java.sql.Types.VARCHAR);
问题:我为什么需要这样做/它是干什么用的?
完整的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);
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;