java - Java Stored Procedures how to register out parameter properly
问题描述
So this is my stored procedure
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `getStudentsName`(IN STUD_ID INT, OUT S_FIRST VARCHAR(255), S_LAST VARCHAR(255))
BEGIN
SELECT first, last INTO S_FIRST, S_LAST
FROM studentsinfo
WHERE id = STUD_ID;
END$$
DELIMITER ;
This is my java code:
String sql = "{call getStudentsName (?, ?, ?)}";
stmt = conn.prepareCall(sql);
int studID = id;
stmt.setInt(1, studID);
stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
stmt.registerOutParameter(3, java.sql.Types.VARCHAR);
stmt.execute();
It's giving me "Parameter number 3 is not an OUT parameter" error. I've seen examples with only 1 out parameter so I'm not sure if I did the right thing since I have 2 out parameter.
解决方案
推荐阅读
- asp.net-core - 使 EF Core 属性向后兼容 Linq to Sql
- c - 编译器添加了一个奇怪的填充
- laravel - 在 Laravel 中重新加载自定义 .env 文件后如何更改存储设置?
- java - 使用 MongoDb Java 驱动程序有办法动态获取过滤器功能
- python - 为特定行中的列列表赋值
- javascript - 如何在 JavaScript 中的嵌套数组中插入键值对
- python - 有没有办法通过 xlwings 垂直写入单元格?
- reactjs - TypeError: Class extends value undefined is not a constructor or null while running next.js
- f# - Saturn 的 .NET SDK 要求
- security - 使 PHP-FPM security.limit_extensions 不区分大小写