天天看點

資料庫的相關操作:如連接配接、查詢、添加、删除、修改、分頁顯示

資料庫的相關操作:如連接配接、查詢、添加、删除、修改、分頁顯示

package study.database;

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");

}

}

}

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());

}

}

public ResultSet query(String sql) {

try{

stmt=conn.createStatement();

rs=stmt.executeQuery(sql);

}catch(SQLException ex) {

System.err.println("資料庫查詢錯誤:" + ex.getMessage());

}

return rs;

}

public void update(String sql) {

try{

stmt=conn.createStatement();

stmt.executeUpdate(sql);

}catch(SQLException ex) {

System.err.println("資料庫更新錯誤:"+ex.getMessage());

}

}

public int totalRecord(ResultSet rs) throws Exception{

int total=0;

//指針移到最後一條記錄上

rs.last();

total = rs.getRow();

rs.first();

return total;

}

public String showPages(int currPage, int pageSize, int pageCount, String filename){

String addr;

addr = "<table width=100% + 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 + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=1>首 頁</a> ";

addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=" + (currPage - 1) + ">上一頁</a> ";

}

if(currPage >= pageCount){

addr += "下一頁 尾 頁 ";

}

else{

addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" page=" + (currPage + 1) + ">下一頁</a> ";

addr += "<a href=" + filename + " target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" 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頁面中的代碼大家自己動手寫!很容易的!