网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > JSP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JSP避免Form重复提交的三种方案.
.Servlet动态产生JPEG图像的例子.
.JSP中tomcat的SQL Server2000数据.
.在jsp中作HTTP认证的方法.
.解析缓冲技术在JSP编程中新的应用.
.提升JSP应用程序的七大绝招.
.页面乱码解决4种方案.
.jsp中与标签要用不同的方式获得数.
.JSP和JSF合并 共同打造完美的Web.
.jsp中forword和sendRedirect的区.
.JSP在Linux下的安装.
.Servlets和JSP Pages最佳实践.
.通过JDBC连接oracle数据库的十大.
.应用JDOM处理数据库到XML转换的J.
.利用缓冲技术提高JSP程序的性能和.
.用Request对象防止JSP缓存机制.
.jsp连接数据库oracle.
.java/jsp中 中文问题详解.
.jsp页面调用applet实现人民币的大.
.Java代码编写的一般性指导.

数据库的相关操作:如连接、查询、添加、删除、修改、分页显示

发表日期:2007-1-27


数据库的相关操作:如连接、查询、添加、删除、修改、分页显示
 
package study.database;

/**
* <p>Title: JSP模式学习</p>
* <p>Description: 数据库的相关操作:如连接、查询、添加、删除、修改</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author 李艳生
* @version 1.0
*/
import java.sql.*;
import java.io.*;
import java.util.*;

public class Operation {
//数据库驱动程序
private String strDriver = "";
//数据库连接字符串
private String strURL = "";
//数据库用户名
private String username = "";
//数据库密码
private String password = "";

private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;

/** 读到数据库配置信息
*/
private void loadProp(){
InputStream is = getClass().getResourceAsStream("/setup.txt");
Properties props = new Properties();

try{
props.load(is);
}catch(Exception e){
System.err.println("不能读取配置文件. 请确保setup.txt在classes指定的路径中");
}

Enumeration propNames = props.propertyNames();
while (propNames.hasMoreElements()) {
String name = (String) propNames.nextElement();
if (name.endsWith(".driver")) {
String poolName = name.substring(0, name.lastIndexOf("."));
strDriver = props.getProperty(poolName + ".driver");
strURL = props.getProperty(poolName + ".url");
username = props.getProperty(poolName + ".user");
password = props.getProperty(poolName + ".password");
}
}
}

/** 在创建Operation对象时连接数据库
*/
public Operation() {
//读到数据库配置信息
loadProp();

try{
Class.forName(strDriver);
}catch(java.lang.ClassNotFoundException e) {
System.err.println("数据库连接错误:" + e.getMessage());
}

try{
conn=DriverManager.getConnection(strURL,username,password);
}catch(SQLException ex) {
System.err.println("数据库连接错误:" + ex.getMessage());
}
}

/** 数据库查询
* sql:SQL查询语句
*/
public ResultSet query(String sql) {
try{
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}catch(SQLException ex) {
System.err.println("数据库查询错误:" + ex.getMessage());
}

return rs;
}

/** 数据库添加、修改、删除
* sql:SQL语句
*/
public void update(String sql) {
try{
stmt=conn.createStatement();
stmt.executeUpdate(sql);
}catch(SQLException ex) {
System.err.println("数据库更新错误:"+ex.getMessage());
}
}

/** 得到查询结果的总记录数
* rs:查询结果集
*/
public int totalRecord(ResultSet rs) throws Exception{
int total=0;
//指针移到最后一条记录上
rs.last();
total = rs.getRow();
rs.first();

return total;
}

/** 分页显示
* currPage: 当前页数
* pageSize: 页大小
* pageCount: 总页数
* filename: 使用分页的文件名(文件名后面要加?,多个参数以&分开,有参数的最后以&结束)
* / 返回字符串: <a href="filename?page=当前页数">
*/
public String showPages(int currPage, int pageSize, int pageCount, String filename){
String addr;

addr = "<table width=100% border=0 align=center cellpadding=0 cellspacing=0><form method=Post name=pageform><tr><td><div align=right>当前第<strong><font color=red>" + currPage + "</font></strong>页 " +
"共<strong><font color=red>" + pageCount + "</font></strong>页每页<strong><font color=red>" + pageSize + "</font></strong>条 ";

if(currPage > pageCount){
currPage = pageCount;
}
if(currPage < 1){
currPage = 1;
}

if(currPage < 2){
addr += "首 页 上一页 ";
}
else{
addr += "<a href=" + filename + "page=1>首 页</a> ";
addr += "<a href=" + filename + "page=" + (currPage - 1) + ">上一页</a> ";
}

if(currPage >= pageCount){
addr += "下一页 尾 页 ";
}
else{
addr += "<a href=" + filename + "page=" + (currPage + 1) + ">下一页</a> ";
addr += "<a href=" + filename + "page=" + pageCount + ">尾 页</a> ";
}

addr += "转到:<select name=´page´ size=´1´ style=´font-size: 9pt´ onChange=´javascript :pageform.submit()´> ";
for(int i = 1; i <= pageCount; i ++){
if(currPage==i){
addr += "<option value=" + i + " selected> 第 "+i+"页 </option > ";

}
else{
addr += "<option value=" + i + "> 第 "+i+"页 </option > ";
}
}
addr += "</select></div></td></tr></form></table>";

return addr;
}

/** 关闭数据集
*/
public void closestmt() {
try{
stmt.close();
}catch(SQLException ex) {
System.err.println("数据集关闭错误:"+ex.getMessage());
}
}

/** 关闭数据库连接
*/
public void closeconn() {
try{
conn.close();
}catch(SQLException ex) {
System.err.println("数据库连接关闭错误:"+ex.getMessage());
}
}
}

其中的JSP页面中的代码大家自己动手写!很容易的!
http://blog.csdn.net/goldbox/archive/2007/01/26/1494667.aspx

上一篇:jsp页面显示数据导出到excel表中 人气:7434
下一篇:用JSP实现DOS形式缓冲网页 人气:3639
浏览全部jsp的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐