java 如何调用存储过程_Java中调用存储过程

import java.sql.*;

/**

* Java中调用存储过程

*

* @author JRunner

*

* 2009-10-31

*

* Email:jrunner@sina.com

*/

public class TestProc {

/**

* @param 入口

* @throws ClassNotFoundException

* @throws SQLException

*/

public static void main(String[] args) throws ClassNotFoundException,

SQLException {

String msg = "";

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

Connection conn = DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433;DatabaseName=JRun", "sa", "");

CallableStatement cs = conn

.prepareCall("{call UpdateUserById(?,?,?,?,?,?)}");

cs.registerOutParameter(6, Types.VARCHAR);

cs.setString(1, "1");

cs.setString(2, "JRunner");

cs.setString(3, "JRunner");

cs.setString(4, "3");

cs.setString(5, "3");

cs.execute();

msg = cs.getString(6);

cs.close();

conn.close();

System.out.println(msg);

}

}

//---------------------------------SQL------------------------------------------------

/*

create database JRun

go

use JRun

go

create table t_user

(

u_id int identity(1,1) not null,

u_name varchar(20) not null,

u_password varchar(20) not null,

u_sex int not null,

u_age int not null

)

go

create proc UpdateUserById

@u_id int,

@u_name varchar(20),

@u_password varchar(20),

@u_sex int,

@u_age int,

@msg varchar(50) output

as

update t_user set u_name=@u_name, u_password=@u_password, u_sex=@u_sex, u_age=@u_age

where u_id=@u_id

if(@@rowcount > 0)

set @msg = '成功的修改了一条数据'

else

set @msg = '修改失败'

go

insert into t_user(u_name,u_password,u_sex,u_age) values('JRunner','JRunner',1,1)

declare @msg varchar(50)

exec UpdateUserById 1,'Java','Java', 2, 2, @msg output

select @msg

select * from t_user

*/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值