d.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %>
">
My JSP 'a.jsp' starting page -->
你想删除 product 表中的记录吗?想的话,就赶快行动吧!
请输入您想要删除的产品编号:
删除记录前的<%=biao%>表如下所示:
<%=queryResult%><%--biao 和 queryResult 是从 QueryTag.tag 页面返回的对象 --%>
d1.jsp 页面
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <%@ taglib tagdir="/WEB-INF/tags" prefix="inquire"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
">
My JSP 'd1.jsp' starting page words" content="keyword1,keyword2,keyword3">
--> <% //获取文本框中的值 String nu = request.getParameter("txtNumber"); //处理汉字信息 byte bg[] = nu.getBytes("iso-8859-1"); nu = new String(bg); %>
" dataSource="Warehouse"> 删除记录后的<%=biao%>如下所示:
<%=queryResult%><%--biao 和 queryResult 是从 QueryTag.tag 页面返回的对象 --%>
QueryTag.tag 页面
<%@ tag pageEncoding="gbk"%> <%@ tag import="java.sql.*"%> <%@ attribute name="dataSource" required="true"%><%--从 d.jsp 和 d1.jsp 页面得到参数 dataSource --%> <%@ attribute name="tableName" required="true"%><%--从 d.jsp 和 d1.jsp 页面得到参数 tableName --%> <%@ variable name-given="biao" scope="AT_END"%><%--向 d.jsp 和 d1.jsp 页面返回对象 biao --%>
<%@ variable name-given="queryResult" scope="AT_END"%><%--向 d.jsp 和 d1.jsp 页面返回 对象 queryResult --%> <% StringBuffer result = new StringBuffer(); try { Class.forName("sun.jdbc.odbc.JdbcOdbcDrier");//建立桥接器 } catch (Exception e) { } Connection con; Statement sql; ResultSet rs; try { result.append("
"); con = DriverManager.getConnection("jdbc:odbc:"+dataSource, "", "");//和数据库建立 连接,注:第一个参数代表数据源名,第二个参数代表用户名,第三个参数代表密码 DatabaseMetaData metadata = con.getMetaData(); ResultSet rs1 = metadata .getColumns(null, null, tableName, null);//表的字段信息以行列的形式存储 在 ResultSet 对象中,注:第一个参数代表数据库名,第二个代表数据库扩展名,第三个代 表表名,最后一个代表字段名 int 字段个数 = 0; result.append(""); while (rs1.next()) {//rs1 对象调用 next 方法使游标向下移动一行 字段个数++; String clumnName = rs1.getString(4);//rs1 调用 getString 方法查看该行中列的信 息,其中最重要的信息是第 4 列,该列上的信息为字段的名字 result.append("" + clumnName + " | "); } result.append("
"); sql = con.createStatement(); rs = sql.executeQuery("select * from "+tableName);//将查询结果返回给内存的结果集 对象 rs while (rs.next()) { result.append("");
for (int k = 1; k <= 字段个数; k++) { result.append("" + rs.getString(k) + " | "); } result.append("
"); } result.append("
"