java调用存储过程sqlserver_JDBC调用sqlserver的存储过程

本文展示了如何使用Java JDBC调用SQL Server的存储过程。包括两个示例,一个是调用`p_1`获取`cell`表数据,另一个是调用`p_2`插入数据到`cell`表。详细步骤包括设置连接、创建CallableStatement以及处理结果集。
摘要由CSDN通过智能技术生成

create proc p_1

as

select * from cell

go存储过程p_2----往cell表里插入数据

create proc p_2

@name varchar(40),

@remark varchar(40)

as

insert into cell(name,remark) values(@name,@remark)

go调用存储过程p_1:

import java.sql.*;

/**

* jdbc中调用存储过程

* @author jiafang83

*

*/

public class Procedure2 {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fish";

String user = "bm";

String pwd = "bm";

Connection conn = null;

CallableStatement proc = null;//执行sql存储过程的接口

ResultSet rs = null;

//        调用存储过程p_1:从Cell表中取出数据

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

conn = DriverManager.getConnection(url,user,pwd);

proc = conn.prepareCall("{? = call p_1 ()}");

proc.registerOutParameter(1, Types.REAL);

rs = proc.executeQuery();//取得结果集

while(rs.next()){

System.out.println(rs.getString("name"));

}

}catch(Exception e){

e.printStackTrace();

}finally{

if(rs!=null) rs.close();

if(proc!=null)proc.close();

if(conn!=null)conn.close();

}

}

}调用存储过程p_2:

import java.sql.*;

/**

* jdbc中调用存储过程

* @author jiafang83

*

*/

public class Procedure {

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=fish";

String user = "bm";

String pwd = "bm";

Connection conn = null;

CallableStatement proc = null;//执行sql存储过程的接口

//        调用存储过程p_2:向Cell表中插入数据

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

conn = DriverManager.getConnection(url,user,pwd);

proc = conn.prepareCall("{call p_2 (?,?)}");

proc.setString(1, "测试");

proc.setString(2, "测试");

proc.execute();

System.out.println("成功调用存储过程,插入数据!");

}catch(Exception e){

e.printStackTrace();

}finally{

if(proc!=null)proc.close();

if(conn!=null)conn.close();

}

}

posted on 2008-11-20 14:25 jiafang83 阅读(2770) 评论(0)  编辑  收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值