在JSP页面中进行测试,代码如下:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver")
.newInstance();
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user = "sa";
String password = "";
Connection conn = DriverManager.getConnection(url, user, password);
//不带参数的存储过程,并且返回结果集
CallableStatement stmt = conn.prepareCall("{call ghy_proc}");
stmt.execute();
ResultSet rs = stmt.getResultSet();
while (rs.next())
{
out.println(rs.getString(1));
}
out.println("
");
//带参数的存储过程,并且返回值
stmt = conn.prepareCall("{call ghy_proc_return(?,?)}");
stmt.registerOutParameter(1, Types.INTEGER);
stmt.registerOutParameter(2, Types.INTEGER);
stmt.setInt(1, 10);
stmt.setInt(2, 10);
stmt.execute();
out.println("加1的值是:" + stmt.getString(1) + "
");
out.println("减1的值是:" + stmt.getString(2) + "
");
//带参数的存储过程,并且返回结果集
stmt = conn.prepareCall("{call ghy_proc_var(?)}");
stmt.setInt(1, 14);
stmt.execute();
rs = stmt.getResultSet();
while (rs.next())
{
out.println("job_id value is:" + rs.getString(1) + "
");
out.println("job_desc value is:" + rs.getString(2) + "
");
}
%>
三个SQL Server 2000存储过程如下:
CREATE PROCEDURE ghy_proc
AS
select * from jobs
GO
CREATE PROCEDURE ghy_proc_return
(@max int output,@min int output)
AS
select @max=@max+1
select @min=@min-1
GO
CREATE PROCEDURE ghy_proc_var (@id int)
AS
select * from jobs where job_id=@id
GO
分享到:
相关推荐
CallableStatement调用Oracle存储过程返回结果集(ResultSet).doc
二、调用存储过程,返回sql类型数据(非记录集) Connection connection = ConnectionHelper.getConnection(); CallableStatement callableStatement = connection.prepareCall("{ call procedureName(?,?,?) }");...
CallableStatement 对象为所有的 DBMS 提供了一种以标准形式调用已储存过程的方法。已储存过程储存在数据库中。对已储存过程的调用是 CallableStatement对象所含的内容。这种调用是用一种换码语法来写的,有两种...
java数据库连接CallableStatement
。。。
。。。
CallableStatement 调用mysql5.0的存储过程和方法 配有创建存储过程和方法的源代码
在Java中调用: package cn.bl.v2; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Types; import org.junit.Test; import cn.bl.DBUtil;
Java调用过程的几个步骤: 1.创建连接对象 2.得到CallableStatement对象, CallableStatement cst=conn.prepareCall("{call 过程名(?,?... )}"); //每个?代表过程中的一个参数 3.给输入参数赋值 4.注册输出参数,比如...
1. 创建存储过程 建立一个MySQL的存储过程 add_pro 代码如下: delimiter // drop procedure add_pro // create ... import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManage
java.sql.CallableStatement 用来访问数据库中的存储过程。它提供了一些方法来指定语句所使用的输入/输出参数。 java.sql.ResultSet 指的是查询返回的数据库结果集。 java.sql.ResultSetMetaData 可用于获取...
这是一个很好的存储过程的应用例子!赶快下载吧!
在使用时,必须先调用CallableStatement.registerOutParameter方 法为每一个输出参数进行类型注册,然后执行该过程调用语句,最后使用getXXX方法取 出输出参数的结果. 7.SQL数据类型到Java类型的转换:SQL数据类型与...
import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.SQLWarning; import ...
JDBC规范 java.sql和javax.sql两个包中的类与接口(天龙八部): ... CallableStatement:调用存储过程 ResultSet:结果集,封装了多条记录 JDBC数据库连接池/Connection Pool DBCP:apache tomcat内置
CallableStatement的用法
主要介绍了Java的JDBC中Statement与CallableStatement对象实例,JDBC是Java编程中用于操作数据库的API,需要的朋友可以参考下
Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将...