`
JAVA天地
  • 浏览: 657711 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

可以方便的将SQL语句的执行结果显示成表格结果的JAVA类,可以用于不同的数据显示

阅读更多

说明:

在做网络程序的时候,我们总是需要将数据从数据库里面读出来,并将其显示,如果每次都去写,那就有点麻烦,程序员最讨厌的事就是做无用的重复功,至少我是其中的一员,在一个项目中做了一个这个东东,感觉用起来还是很方便的,

这是一个通用的将查询结果显示成表格的类,你想显示多少,你只需要在你的SQL语句里面的控制就可以,可以做到随心所欲了。

主要原理就是根据你的SQL语句,根据rs.getMetaData();及rsmd.getColumnName(j);取得列名,然后再把内容循环读出来就可以了,在读取内容的过程中,加入表格元素控制,然后就可以将取得到的内容转换成表格形式。你可以将我注释了的将英文字段换成中文的函数补充完整,这样你的图上显示就是中段了,我这里就不把那个函数写出来,因为很简单,这里也有这么多的东西了。不过,我附到最后面,以及翻页要用的一个JS函数,都附在最后面。

这是一张运行效果图:

下面是源代码,有点长,如果你觉得下面的太长了,太难看,你可以到这里下载这个JAVA源文件,这里有一个示例,如下:

示例:

/**

* 这是一个可以把执行结果返回成表格的形式的类,在JSP页面只需要一个打印语句就可以把结果查询结果

* 打印出来。通用性比较强,不过,性能上面我没有去考虑@——@

* 这里一个简单的示例,不过,要放在JSP页面里面使用:

* GetSearchResultByTableFormat get=new GetSearchResultByTableFormat();

* get.setTableTitle(" ");

* get.setEditUrl("purchaseInformation_edit.do");

* get.setVerify(true);//把需要通过验证标志设为true

* get.setVerifyURL("PassVerify_PurchaseInformation.do");

* String sql="Select * From table";

* //取得当前的页号

* int currentPage;

* try{

* currentPage=Integer.parseInt(request.getParameter("page"));

}catch(NumberFormatException e)

{

currentPage=1;

try{

currentPage=(Integer)(request.getAttribute("page"));

//out.println("当前页:"+currentPage);

}catch(Exception e1)

{

currentPage=1;

}

}

* //取得当前的页号OK

* get.setDelUrl("purchaseInformation_del.do?page="+currentPage+"&");

* int pageSize=20;

* String pageUrl="purchaseInformation_verify.jsp";

* get.setCurrentPageUrl(pageUrl);

* get.setViewUrl("purchaseInformation_View.do");

* //把取得的查询结果打印出来就OK

* out.println(get.getResult_withTableFormat(sql,currentPage,pageSize,true));

* 上面的操作看起来有点烦,要设置的东西,也比较多,不过,这是从通用性上考虑的,并且多考虑了

* 一些功能,如把编辑、删除、审核等的链接都加上了,如果你只是一个简单的显示的,你可以稍稍更

* 改一些,就成为你需要的了。更改也很简单,把这个方法getExecuteResult_withTableFormat

* 改这一下就可以了。

* 欢迎常回家看看:http://blog.csdn.net/fenglibing

*/

源代码:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

public class GetSearchResultByTableFormat {

public GetSearchResultByTableFormat() {

conn_init();

}

Connection conn;

Statement st;

int currentPage; //当前页号

int pageSize; //每页显示记录条数

int totalPage; //总共页数

int previousPage; //前一页页号

int nextPage; //下一页页号

int columnCount; //总共列数

int totalRecord; //总记录数

String tableTitle; //大标题,这个的下面才是显示的内容

String editUrl; //编辑页面的URL

String delUrl; //删除页面的URL

String viewUrl; //查看指定记录URL

String currentPageUrl;

boolean verify = false; //是否当前记录验证

String verifyURL; //记录的验证地址

/******************************初使化数据库链接******************************/

private void conn_init() {

setConnection();

setStatement();

}

private void setConnection() {

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

String strurl;

strurl =

"jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\Palfinger\\palfinger.mdb";

conn = DriverManager.getConnection(strurl);

} catch (Exception e) {

e.printStackTrace();

}

}

private void setStatement() {

try {

st =

conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

} catch (SQLException e) {

e.printStackTrace();

}

}

/*****************************初使化数据库链接OK*****************************/

/**

*

* @param sql 执行的SQL语句

* @param CurrentPage 当前页

* @param PageSize 每页显示的记录数

* @return 执行的结果到StringBuffer

*/

public StringBuffer getResult_withTableFormat(String sql, int CurrentPage,

int PageSize,

boolean withEdit) {

int rowNum = 0; //总行数

int TotalPage = 0; //总页数

int beginRow = 0; //起始记录

分享到:
评论

相关推荐

    Java使用表格显示查询结果.rar

    super("显示数据库查询结果"); //调用父类构造函数  String[] columnNames={"用户名","年龄","性别","Email"}; //列名  Object[][] rowData=new Object[5][4]; //表格数据  try {   Class.forName(...

    SQL_INSERT_INTO_语句

    SQL_INSERT_INTO_语句 SQL INSERT INTO 语句 INSERT INTO 语句 INSERT INTO 语句用于向表格中插入新的行。

    JAVA上百实例源码以及开源项目源代码

    产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于验证签名。...

    JAVA上百实例源码以及开源项目

    产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于验证签名。...

    把一个json生成一个创建sql

    把一个json生成一个创建sql

    Java实现把excel xls中数据转为可直接插入数据库的sql文件

    主要介绍了Java实现把excel xls中数据转为可直接插入数据库的sql文件 的相关资料,需要的朋友可以参考下

    SqlToolBox 1.8.2

    首先,在输入窗口输入您向执行的Sql语句,如“select * from table”之类,当然您更可以通过表格的右键菜单来获得常用的sql语句(在输入或是粘贴文本的过程中,Sql语句中的关键字会以蓝色显示,这是语法高亮功能所致...

    Oracle SQL Handler (Oracle客户端工具) V3.1

    支持多条SQL语句的成批运行,用控制台监控每条语句的运行, 在运行过程中可以中断/暂停/继续正在运行的 SQL,甚至可以更正出错误的 SQL,从而提高操作效率 <4> 支持彩色文本编辑,即关键字、注释块、引号内字符串、...

    java开源包4

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    6.2.4 标识SQL语句以便以后取回计划 153 6.2.5 深入理解DBMS_XPLAN的细节 156 6.2.6 使用计划信息来解决问题 161 6.3 小结 169 第7章 高级分组 170 7.1 基本的GROUP BY用法 171 7.2 HAVING子句 174 7.3 GROUP...

    java开源包11

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包6

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包9

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    2009达内SQL学习笔记

    SQL语句可以在一行上写出,建议多行写出,便于阅读和调试。 多条SQL语句必须以分号分隔。多数DBMS不需要在单条SQL语句后加分号,但特定的DBMS可能必须在单条SQL语句后加分号。 SQL语句的最后一句要以 “;”号...

    java开源包5

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包101

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    EXCEL转SQL软件E2S.rar

    工具是java开发,文件包含了32位所需...工具使用:打开工具,选择excle数据表格,修改sql表名和对应的字段名称,点击【导出】选择目录输入sql语句,sql查询窗口打开导出的sql文件,点[执行】检查数据是否已插入到表中

    java开源包8

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    java开源包10

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

Global site tag (gtag.js) - Google Analytics