⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conn.java

📁 这是一个用JAVA语言编写的BBS论坛程序
💻 JAVA
字号:
package javabean;

import javax.naming.*;
import javax.sql.*;
import java.sql.*;
import java.util.*;

public class Conn{
  private Context db_context=null;
  private DataSource db_source=null;
  private Connection db_conn=null;
  private PreparedStatement db_pstmt=null;
  private ResultSet db_rs=null;
  private int count_all=0,count_page=0,count_now=0;
  public Conn(){
    try{
      db_context=new InitialContext();
      if(db_context==null)throw new Exception("Boom-No Context");
      db_source=(DataSource)db_context.lookup("java:comp/env/jdbc/mysqldb");
    }catch(Exception ex){
      System.err.println("conn():"+ex.getMessage());
    }
  }

  private ResultSet executeQuery(String sql){
    db_rs=null;
    try{
      if(db_source!=null)db_conn=db_source.getConnection();
      if(db_conn!=null){
        db_pstmt=db_conn.prepareStatement(sql);
        db_rs=db_pstmt.executeQuery();
      }
    }catch(SQLException ex){
      System.err.println("conn.executeQuery:"+ex.getMessage());
    }
    return db_rs;
  }

  public void executeUpdate(String sql){
    try{
      if(db_source!=null)db_conn=db_source.getConnection();
      if(db_conn!=null){
        db_pstmt=db_conn.prepareStatement(sql);
        int result=db_pstmt.executeUpdate();
      }
    }catch(SQLException ex){
      System.err.println("conn.executeUpdate:"+ex.getMessage());
    }
    close();
  }

  private void close(){
    try{
      if(this.db_rs!=null)this.db_rs.close();
      if(this.db_pstmt!=null)this.db_pstmt.close();
      if(this.db_conn!=null)this.db_conn.close();
    }catch(Exception ex){}
  }

  public int queryCount(String sql){
    int result=0;
    db_rs=null;
    db_rs=executeQuery(sql);
    try{
      if(db_rs.next())result=db_rs.getInt(1);
    }catch(Exception ex){
       System.err.println("conn.queryCount:"+ex.getMessage());
    }
    close();
    return result;
  }

  public String queryData(String sql){
    String result="";
    db_rs=null;
    db_rs=executeQuery(sql);
    try{
      while(db_rs.next()){
        result=db_rs.getString(1);
        break;
      }
    }catch(Exception ex){
       System.err.println("conn.queryOneData:"+ex.getMessage());
    }
    close();
    return result;
  }

//sql用来查询数据;要查询的字段数目;当前页序号;每页最多的数目
  public String[] queryData(String sql,int filed_count,int page_id,int page_count){
    int db_start=0,i=0;
    ArrayList result=new ArrayList();
    db_start=(page_id-1)*page_count;
    sql+=" LIMIT "+db_start+","+page_count;
    db_rs=null;
    db_rs=executeQuery(sql);
    try{
      while(db_rs.next()){
        for(i=1;i<=filed_count;i++){
          result.add(db_rs.getString(i));   
        }
      }
    }catch(Exception ex){
       System.err.println("conn.queryData:"+ex.getMessage());
    }
    close();
    String[] array=(String[])result.toArray(new String[result.size()]);
    for(i=0;i<array.length;i++){
       if(array[i]==null)array[i]="";
    }
    return array;
  }            

  public void PageInfo(String sql,int count,int pageid){
     count_all=queryCount(sql);
     count_page=(count_all+count-1)/count;
     count_now=count;
     if(pageid==count_page)count_now=count_all-(count_page-1)*count;
     if(count_all==0){count_page=1;count_now=0;}
  }

  public int getDataCount(){
    return this.count_all;
  }
  public int getPageCount(){
    return this.count_page;
  }
  public int getPageNowCount(){
    return this.count_now;
  }

//forum序号;要返回查到的第几个值
  public String queryBBS(int forum,int index){
    String result[]=queryData("select topic_id,user_name,topic_theme,topic_date from user_topic where topic_forum="+forum+" order by topic_id desc",4,1,1);
    if(result.length==0)return "";  
    return result[index];
  }

//版主forum序号
  public String queryAdmin(int type){
    String result="";
    db_rs=null;
    db_rs=executeQuery("select user_name from user_info where user_type="+type);
    try{
      while(db_rs.next()){
        result+="<a href='userinfo.jsp?name="+db_rs.getString("user_name")+"'>"+db_rs.getString("user_name")+"</a>&nbsp;&nbsp;";     
      }
    }catch(Exception ex){}
    close();
    return result;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -