0
点赞
收藏
分享

微信扫一扫

JSP中调用存储过程


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

举报

相关推荐

0 条评论