您的位置:首页 > Web前端 > JavaScript

JSP中调用存储过程

2008-09-27 05:58 218 查看
package db;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private final static String driver= "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private final static String url= "jdbc:sqlserver://localhost:1433;databasename = czgc";
private final static String userName= "sa";
private final static String pwd= "123";
Connection con = null;
PreparedStatement pts = null;

/**
* 查找
*/
public void find(){
try {
Class.forName(driver);
con = DriverManager.getConnection(url,userName,pwd);
String sql = "{call proc_test_selectAll}";
CallableStatement cs = con.prepareCall(sql);
ResultSet rs =cs.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1)+"/t"+rs.getString(2)+"/t"+rs.getString(3));
}
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 添加
* @param name
* @param sex
* @param age
* @return
*/
public int add(String name,String sex,int age){
int rows = 0;
try{
Class.forName(driver);
con = DriverManager.getConnection(url,userName,pwd);
String sql = "{call proc_test_add(?,?,?)}";
CallableStatement cs = con.prepareCall(sql);
cs.setString(1, name);
cs.setString(2, sex);
cs.setInt(3, age);
rows = cs.executeUpdate();
con.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return rows;
}

public static void main(String[] args) {
BaseDao d = new BaseDao();
d.add("达尔", "男", 30);
d.find();
}
}
数据库:

prepareCall(String sql); 功能:获得CallableStatement对象

sql表示调用存储过程的语句:其调用格式为:{call 存储过程名(?,?,?)}

if exists (select * from sysobjects where name = 'proc_test_selectAll')
drop proc proc_test_selectAll
go
create proc proc_test_selectAll
as
select * from test
go
if exists (select * from sysobjects where name = 'proc_test_add')
drop proc proc_test_add
go
create proc proc_test_add
@name varchar(10),
@sex varchar(2),
@age int
as
insert into test values(@name,@sex,@age)
go
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: