JDBC怎样调用存储过程
发布网友
发布时间:2022-04-08 02:18
我来回答
共2个回答
懂视网
时间:2022-04-08 06:39
在JDBC简单封装的基础上实现
public class UserDao{
public static void testGetUser(String userName) throws Exception{
Connection conn=null;
CallableStatement callableStatement=null;
ResultSet resultSet=null;
try{
conn=JdbcUtils.getConnetcion();
String sql="{call addUser(?,?,?,?)}";//调用数据库addUser存储过程,有四个参数,最后一个参数是输出新数据的ID
callableStatement=conn.prepareCall(sql);
callableStatement.setString(1,"test");
callableStatement.setDate(2,new java.sql.Date(System.currentTimeMillis()));
callableStatement.setFloat(3,100f);
callableStatement.registerOutParameter(4,Types.INTEGER);
callableStatement.excuteUpdate();
int id=callableStatement.getInt(4);//获得存储过程的输出参数值
}finally{
JdbcUtils.freeResource(resultSet,preparedStatement,conn);
}
}
}
初学JDBC,调用存储过程
标签:
热心网友
时间:2022-04-08 03:47
callablestatementcstmt=con.preparecall("{callgettestdata(?,?)}");
cstmt.registeroutparameter(1,java.sql.types.tinyint);
cstmt.registeroutparameter(2,java.sql.types.decimal,3);
cstmt.executequery();
bytex=cstmt.getbyte(1);
java.math.bigdecimaln=cstmt.getbigdecimal(2,3);
在JAVA中怎么调用带参数的存储过程?
JDBC调用存储过程: CallableStatement\x0d\x0a在Java里面调用存储过程,写法那是相当的固定:\x0d\x0aClass.forName(...\x0d\x0aConnection conn = DriverManager.getConnection(...\x0d\x0a/**\x0d\x0a*p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替\x0d\x0a*...
非结构化数据如何可视化呈现?
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准...
怎样在项目中使用存储过程
换言之, registerOutParameter 使用的是 JDBC 类型(因此它与数据库返回的 JDBC 类型匹配),而 getXXX 将之转换为 Java 类型。作为示例,下述代码先注册 OUT 参数,执行由 cstmt 所调用的已储存过程,然后检索在 OUT 参数中返回的值。方法 getByte 从第一个 OUT 参数中取出一个 Java 字节,而 get...
Java如何实现对存储过程的调用
import java.sql.*;public class ProcedureTest { public static void main(String args[]) throws Exception { //加载驱动 DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver());//获得连接 Connection conn=DriverManager.getConnection("jdbc:odbc:mydata","sa","");//创建存储过程的对...
我如何用JAVA调用存储过程取得 serveroutput?
JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是...
jdbc调用存储过程为什么语句不能加分号
如果你在程序里面写sql,就不要加分号,在程序里面编译器会把分号当做sql本身的一部分,所以会报错 如果是在查询工具里面(比如plsql),这个时候可以加上分号,在工具里面分号是个分隔符,看到分号就标志着本条sql语句结束了; 当然不加也可以,在工具里面看不到分号就认为本条sql没有结束。 比如...
java调用oracle存储过程无法获得正确的返回值,每次都是0
你通过JDBC这种方式调用存储过程,应该使用 CallableStatement 类, CallableStatement cs=conn.prepareCall(str);补充一句,避免你在执行有错,cs.excuse();这个方法为执行,然后在获取输出参数。另外写输出参数的类型时,直Types.类型即可,不用带包。
执行存储过程有多少种方法java
Java执行存储过程的方法: 简单的老的JDBC通过CallableStatement类支持存储过程的调用。该类实际上是PreparedStatement的一个子类。假设有一个poets数据库。数据库中有一个设置诗人逝世年龄的存储过程。下面是对老酒鬼Dylan Thomas(old soak Dylan Thomas,不指定是否有关典故、文化,请批评指正。译注)进行调用的详细代码: ...
jdbc 调用存储过程 无法确定参数个数
这个问题应该放在数据库分类下面吧 这个存储过程应该有1个字符串类型的参数,即可能是"1,2,3,4",也可能是"1,4",然后在存储过程中拼接出查询串来动态执行
java语言调用mysql存储过程(需要获取到存储过程中的out 变量),_百度...
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。参数:parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推 返回:保存 OUT 参数值的 ...
请教,JDBC 调用DB2存储过程返回结果集不能滚动问题
// 创建DB2连接 db2Conn = DriverManager.getConnection(connDB,connUserName, connPwd);// 创建连接状态 st = db2Conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);// 执行查找 resultSet = st.executeQuery(query);rsmd = resultSet.getMetaData();int ColumnCount ...