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
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值