明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

JSP數(shù)據(jù)庫設置例程 - 存儲過程 - JDBC-ODBC - SQL Server - 1.1版本

[摘要]<%--作者:何志強[hhzqq@21cn.com]日期:2000-08-04   2000-08-16版本:1.1功能:JSP數(shù)據(jù)庫操作例程 - 存儲過程 - JDBC-ODBC - SQL...
<%--
作者:何志強[hhzqq@21cn.com]
日期:2000-08-04
   2000-08-16
版本:1.1
功能:JSP數(shù)據(jù)庫操作例程 - 存儲過程 - JDBC-ODBC - SQL Server

SQL Server的存儲過程如下:
create procedure sp_jsptest
 @yournamevarchar(50),
 @myname varchar(50) output
as
 select "您好,"+@yourname+",非常高興認識您,^_^"
 set @myname = "何志強"
 return 1
go
--%>

<%@ page contentType="text/html;charset=gb2312"%>

<%
//變量聲明
java.lang.String strName; //姓名

//取得用戶輸入的數(shù)據(jù)
strName = request.getParameter("name");
if(strName==null){//用戶沒有輸入姓名
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP數(shù)據(jù)庫操作例程 - 存儲過程 - 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{
 //對用戶輸入的數(shù)據(jù)作必要的字符編碼轉(zhuǎn)換
 strName = new java.lang.String(strName.getBytes("iso-8859-1"));

 //變量聲明
 java.sql.Connection sqlCon; //數(shù)據(jù)庫連接對象
 java.sql.CallableStatement sqlStmt; //可調(diào)用語句對象
 java.sql.ResultSet sqlRst;//結(jié)果集對象

 java.lang.String strCon;//數(shù)據(jù)庫連接字符串
 java.lang.String strSQL;//SQL語句

 java.lang.String strWelcome;//歡迎詞
 java.lang.String strMyName; //我的姓名
 int intReturn;//返回值

 //裝載JDBC-ODBC驅(qū)動程序
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

 //設置數(shù)據(jù)庫連接字符串
 strCon = "jdbc:odbc:jspdemo";

 //連接數(shù)據(jù)庫
 sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");

 //準備SQL語句
 strSQL = "{? = call sp_jsptest(?,?)}";

 //準備可調(diào)用語句對象
 sqlStmt = sqlCon.prepareCall(strSQL);

 //設置輸入?yún)?shù)
 sqlStmt.setString(2,strName);

 //登記輸出參數(shù)
 sqlStmt.registerOutParameter(1,java.sql.Types.INTEGER);
 sqlStmt.registerOutParameter(3,java.sql.Types.VARCHAR);

 //執(zhí)行該存儲過程并返回結(jié)果集
 sqlRst = sqlStmt.executeQuery();

 //獲取來自結(jié)果集中的數(shù)據(jù)
 sqlRst.next();
 strWelcome = sqlRst.getString(1);

 //獲取輸出參數(shù)的值
 strMyName = sqlStmt.getString(3);

 //獲取返回值
 intReturn = sqlStmt.getInt(1);

 //關閉記錄集
 sqlRst.close();

 //關閉可調(diào)用語句對象
 sqlStmt.close();

 //關閉數(shù)據(jù)庫對象
 sqlCon.close();
%>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JSP數(shù)據(jù)庫操作例程 - 存儲過程 - JDBC-ODBC - SQL Server</title>
</head>
<body>

<%=strWelcome%><br>
我是<%=strMyName%><br>
返回值是<%=intReturn%>

</body>
</html>

<%
}
%>