紀錄在JSP JSTL中使用存儲的過程
作者:網絡
本文介紹在JSP JSTL中使用存儲過程,以及常規方法和最簡方式的介紹。
在Java中的JSP、JSP JSTL把存儲過程使用的常規方法和最簡方式介紹一下。本文以sql server2000例
在JSP JSTL中使用存儲過程
1、Java中過儲過程的標準使用方法:
可實現存儲過程中的各種功能,和最簡方法相比,它可以得到out參數和過程返回值。
?就是參數的占位符,一個問號代表有一個參數。
- String proc = "{call procname (?,? )}";
- CallableStatement stat = con.prepareCall(proc);
- //第一個參數為in的話,說明?號應為英文輸入法下的,這個博客不能輸入英文的問號。
- stat.setString(1,'paravalue');//設置參數值
- //第二個參數作out的話
- stat.registerOutParameter(1,java.sql.Types.VARCHAR);//設置參數類型
- stat.execute();
- String paraValue = stat.getString(2);//得到out參數值
- 例如:
- <%@page import="java.sql.*"%>
- <%@page import="java.text.*"%>
- <%@page contentType="text/html;charset=GB2312"%>
- <%@include file="opendata.jsp"%>
- <%
- String strSQL = "{call pdrivertotal( , )}";
- CallableStatement stmt = con.prepareCall(strSQL);
- stmt.setString(1,"2005-08-20");
- stmt.setString(2,"2005-10-01");
- stmt.execute();
- %>
2、存儲過程的最簡寫法:
思路:將過程當作普通的sql語句去執行,也就是和查詢、更新的寫法是一樣。可實現執行過程并且得到相關的數據集,但它不能得到過程的out輸出參數,開發中90%的情況下皆適用。
- String proc = "exec 過程名 "+參數1+","+參數2;
- Statement stat = con.createStatement();
- ResultSet rs = stat.executeQuery(proc);
例如:
- //在JSP中使用
- <%
- Statement stat = con.createStatement();
- ResultSet rs = stat.executeQuery("zyfproc 20 '姓名'");
- //zyfproc為存儲過程名 20為int型參數,姓名為varchar類參數
- %>
- //在使用了jstl標簽的jsp中使用
- <sql:update var="proc" sql="exec jproc ?,?" dataSource="${ds}">
- <sql:param value="${param.hid}"/>
- <sql:param value="${param.sid}"/>
- sql:update>
以上過程是在JSP JSTL中使用存儲
【編輯推薦】
責任編輯:佚名
來源:
IT168