<%–
作者:何志强[hhzqq@21cn.com]
日期:2000-08-04
2000-08-16
版本:1.1
功能:jsp数据库操作例程 – 存储过程 – jdbc-odbc – sql server
sql server的存储过程如下:
create procedure sp_jsptest
@yourname varchar(50),
@myname varchar(50) output
as
select "您好,"+@yourname+",非常高兴认识您,^_^"
set @myname = "何志强"
return 1
go
–%>
<%@ page contenttype="text/html;charset=gb2312"%>
<%
//变量声明
java.lang.string strname; //姓名
//取得用户输入的数据
strname = request.getparameter("name");
if(strname==null){//用户没有输入姓名
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>jsp数据库操作例程 – 存储过程 – jdbc-odbc – sql server</title>
</head>
<body>
<form action="jdbc-odbc.jsp" method="post">
您尊姓大名:<input type="text" name="name" maxlength="50">
<input type="submit" value="提交">
</form>
</body>
</html>
<%
}
else{
//对用户输入的数据作必要的字符编码转换
strname = new java.lang.string(strname.getbytes("iso-8859-1"));
//变量声明
java.sql.connection sqlcon; //数据库连接对象
java.sql.callablestatement sqlstmt; //可调用语句对象
java.sql.resultset sqlrst; //结果集对象
java.lang.string strcon; //数据库连接字符串
java.lang.string strsql; //sql语句
java.lang.string strwelcome; //欢迎词
java.lang.string strmyname; //我的姓名
int intreturn; //返回值
//装载jdbc-odbc驱动程序
class.forname("sun.jdbc.odbc.jdbcodbcdriver");
//设置数据库连接字符串
strcon = "jdbc:odbc:jspdemo";
//连接数据库
sqlcon = java.sql.drivermanager.getconnection(strcon,"sa","");
//准备sql语句
strsql = "{? = call sp_jsptest(?,?)}";
//准备可调用语句对象
sqlstmt = sqlcon.preparecall(strsql);
//设置输入参数
sqlstmt.setstring(2,strname);
//登记输出参数
sqlstmt.registeroutparameter(1,java.sql.types.integer);
sqlstmt.registeroutparameter(3,java.sql.types.varchar);
//执行该存储过程并返回结果集
sqlrst = sqlstmt.executequery();
//获取来自结果集中的数据
sqlrst.next();
strwelcome = sqlrst.getstring(1);
//获取输出参数的值
strmyname = sqlstmt.getstring(3);
//获取返回值
intreturn = sqlstmt.getint(1);
//关闭记录集
sqlrst.close();
//关闭可调用语句对象
sqlstmt.close();
//关闭数据库对象
sqlcon.close();
%>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>jsp数据库操作例程 – 存储过程 – jdbc-odbc – sql server</title>
</head>
<body>
<%=strwelcome%><br>
我是<%=strmyname%><br>
返回值是<%=intreturn%>
</body>
</html>
<%
}
%>
