jsp实现对数据库的查询(转)

本文详细介绍了如何使用Java和ODBC数据库连接技术实现数据库查询,并将查询结果以表格形式展示在网页上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自百度文库:

a.jsp页面重要代码:

<body bgcolor=pink>
        <h1>
            数据库查询
        </h1>
        <inquire:GetRecord dataSource="star1" tableName="employee"></inquire:GetRecord>
        在<%=biao%>表查询到的记录如下:
        <p></p><%=queryResult%><%--biao和queryResult是Tag文件返回的对象--%>
    </body>

GetRecord.tag重要代码:
<%@ tag pageEncoding="gbk"%>
<%@ tag import="java.sql.*"%>
<%@ tag import="java.util.*"%>
<%@ attribute name="dataSource" required="true"%><%--从a.jsp页面得到参数dataSource --%>
<%@ attribute name="tableName" required="true"%><%--从a.jsp页面得到参数tableName --%>
<%@ variable name-given="biao" scope="AT_END"%><%--向a.jsp页面返回对象biao --%>
<%@ variable name-given="queryResult" scope="AT_END"%><%--向a.jsp页面返回对象queryResult --%>
<%
    StringBuffer result = new StringBuffer();
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDrier");//建立桥接器
    } catch (Exception e) {
    }
    Connection con;
    Statement sql;
    try {
        result.append("<table border=1>");
        con = DriverManager.getConnection("jdbc:odbc:" + dataSource,
                "", "");//和数据库建立连接,注:第一个参数代表数据源名,第二个参数代表用户名,第三个参数代表密码
        DatabaseMetaData metadata = con.getMetaData();
        ResultSet rs1 = metadata
                .getColumns(null, null, tableName, null);//表的字段信息以行列的形式存储在ResultSet对象中,注:第一个参数代表数据库名,第二个代表数据库扩展名,第三个代表表名,最后一个代表字段名
        int 字段个数 = 0;
        result.append("<tr>");
        while (rs1.next()) {//rs1对象调用next方法使游标向下移动一行
            字段个数++;
            String clumnName = rs1.getString(4);//rs1调用getString方法查看该行中列的信息,其中最重要的信息是第4列,该列上的信息为字段的名字
            result.append("<td>" + clumnName + "</td>");
        }
        result.append("</tr>");
        sql = con.createStatement();
        ResultSet rs = sql.executeQuery("select * from " + tableName);//将查询结果返回给内存的结果集对象rs
        while (rs.next()) {
            result.append("<tr>");
            for (int k = 1; k <= 字段个数; k++) {
                result.append("<td>" + rs.getString(k) + "</td>");
            }
            result.append("</tr>");
        }
        result.append("</table>");
        con.close();//关闭数据库连接
    } catch (Exception e) {//抛出异常
        out.print(e);
    }
    jspContext.setAttribute("queryResult", new String(result));//返回queryResult对象给a.jsp页面
    jspContext.setAttribute("biao", tableName);//返回biao对象给a.jsp页面
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值