linux连sql2008

package jdbcCon;
 
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
 
public class BaseJDBCOpertor {
    
    public Connection conn = null;
    public  PreparedStatement prestmt=null;
    
    
    /**
     *<p>描述:�?过读取配置文件方式获得jdbc连接</p>
     * @return
     * @para 参数
     * @return Connection
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @throws ClassNotFoundException  
     * @throws SQLException  
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
   private static Connection getConnection(){
        
        FileReader reader=null;
        Properties property;
        try {
             //URL src= BaseJDBCOpertor.class.getResource("/");
            // String path=src.toString().substring(6).replace("%20", " ")+"jdbcConnection/conn.properties";//获取配置文件的路径
            String path=System.getProperty("user.dir");
            path+="/conn.properties";
            reader=new FileReader(path);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        
        if(reader!=null){
            property = new Properties();
            try {
                property.load(reader);
                  Class.forName(property.getProperty("DRIVERLOAD"));//加载数据库的驱动
              
            } catch (IOException e) {
                e.printStackTrace();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }  
            
              try {  
                Connection    con = DriverManager.getConnection(property.getProperty("URL"), property.getProperty("USER"), property.getProperty("PASSWORD"));  
                return con;
                } catch (SQLException e) {     
                    System.out.println("不能连接到指定的数据库,请检查相应的基本信息!");  
                    e.printStackTrace();  
                }  
            
        }
        return null;
    }
 
    /**
     *<p>描述:获得连�?/p>
     * @return
     * @para 参数
     * @return boolean
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
    public boolean  openConnection(){
        try{
            conn=getConnection();
        }catch (Exception e) {
            e.printStackTrace();
            return false;
        }
        return true;
    }
    
    
    /**
     *<p>描述:加载sql语句</p>
     * @param sql
     * @return
     * @para 参数
     * @return boolean
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
    
    public boolean prepareStatement(String sql){
        if(conn== null){
            return false;
        }
 
        try{
            prestmt=conn.prepareStatement(sql);
        }catch (SQLException e) {
            System.err.println("Error in PrepareStatement(String) : ");
            e.printStackTrace(System.err);
            return false;
        }
        return true;
    }
    
    public PreparedStatement setPrepareStatement(String sql){
        if(conn== null){
            return null;
        }
 
        try{
            String str="SELECT * FROM STUDENT WHERE NAME=?";
            prestmt=conn.prepareStatement(str);
            prestmt.setString(1, sql);
            return prestmt;
        }catch (SQLException e) {
            System.err.println("Error in PrepareStatement(String) : ");
            e.printStackTrace(System.err);
            return null;
        }
    }
    /**
     *<p>描述:加载sql 语句 带配置信�?/p>
     * @param sql
     * @param resultSetType
     * @param resultSetConcurrency
     * @return
     * @para 参数
     * @return boolean
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
    public boolean prepareStatement(String sql,int resultSetType,int resultSetConcurrency) {
        if (conn == null) //数据库没有连�?
        {
        return false;
    }
        try {
            prestmt =
                conn.prepareStatement(sql, resultSetType, resultSetConcurrency);
        } catch (SQLException e) {
            System.err.println("Error in PrepareStatement(String,int,int) : ");
            e.printStackTrace(System.err);
            e.printStackTrace();
        return false;
    }
    return true;
        
        
    }
    
    /**
     *<p>描述:执行查�?/p>
     * @return
     * @para 参数
     * @return ResultSet
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
    public ResultSet excuteQuery() {
        if (prestmt == null) {
            return null;
        }
        try {
            return prestmt.executeQuery();
        } catch (SQLException e) {
            System.err.println("Error in excuteQuery() : ");
            e.printStackTrace(System.err);
        }
        return null;
    }
    
    public boolean execute() {
        if (prestmt == null) {
            return false;
        }
        try {
            return prestmt.execute();
        } catch (SQLException e) {
            System.err.println("Error in excute() : ");
            e.printStackTrace(System.err);
        }
        return false;  
    }
    
    /**
     *<p>描述:关闭连�?/p>
     * @para 参数
     * @return void
     * @author 邱霄�?
     * @date 2013-8-15
     * @version 1.0
     * @modifier 修改�?
     * @modifyDate 修改时间
     * @modifyContent 修改内容
     */
    public void closeConnection() {
        try {
            if (prestmt != null) {
                try {
                    prestmt.close();
                } catch (SQLException ee) {
                }
            }
            if (conn != null && !conn.isClosed()) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    
    public String restr(){
        return "dasb";
    }
    
    public Map<String,String> returnResult(String str) throws SQLException{
        ResultSet rs=null;
        String NAME=null,scorevalue="$";
        Map<String,String> m = new HashMap<String,String>();
        ArrayList<String> lt = new ArrayList<String>();
        setPrepareStatement(str);  
        if (prestmt == null) {
            return null;
        }
        try {
            rs=prestmt.executeQuery();
        } catch (SQLException e) {
            System.err.println("Error in excuteQuery() : ");
            e.printStackTrace(System.err);
        }
        
        if(rs!=null){
            while(rs.next()){
                NAME=rs.getString("NAME");
                lt.add(rs.getString("score"));
            }
        }
        for(int i = 0;i < lt.size(); i ++){
             scorevalue+=lt.get(i)+"$";
        }
        m.put(NAME,scorevalue);
         return m;
    }
}


展开阅读全文

奇怪!!jsp 连 sql2008

01-13

最近刚从C#转手学Java,用jsp开发webrn问题是这样的:rn我用纯连接方法连接:SqlServer2008, 在eclipse中新建一个连接类,读取数据库,没问题。rn代码如下rn[color=#800080]public static void[/color] main(String[] args)rn rn NewsFirstTitleDB6 countTitle = new NewsFirstTitleDB6();rn [color=#800080]int[/color] size = countTitle.getAllFirstLevelTitleList().size();rn [color=#800080]System.out.println[/color]("共有记录"+size+"条");rn List list = countTitle.getAllFirstLevelTitleList();rn [color=#800080]for[/color]([color=#800080]int[/color] i = 0 ; i < size;i++)rn rn FirstLevelTitle ft =(FirstLevelTitle)list.get(i);rn System.out.println("第"+i+"条标题名称:"+ft.getTitleName());rn rn rnrn结果如下:rn共有记录5条rn第0条标题名称:网游rn第1条标题名称:军事rn第2条标题名称:人生rn第3条标题名称:生活rn第4条标题名称:军事rnrn[color=#FF0000]但是[/color]rn当我在jsp脚本中写入相同的代码在网页上输出标题的时候问题就出现了。rn页面代码:rnrnrn<%rn NewsFirstTitleDB6 first = new NewsFirstTitleDB6(); //实例化返回的List的对象rn String mes="测试成功";rn int count = 0;rn tryrn rn List list = first.getAllFirstLevelTitleList();//得到list对象的集合rn int size = first.getAllFirstLevelTitleList().size();rn if(size != 0)rn rn count = 1;rn for(int m = 0 ; m < size; m++)rn rn FirstLevelTitle fTitle = (FirstLevelTitle)list.get(i);rn %> rn rn <%=fTitle.getTitleName() %>//输出标题rn rn <%rn rn rn rn rn catch(Exception ex)rn rn mes = ex.toString();rn rn%>rn<%=mes %>rn<%=count %>rnrnrn错误提示如下:rncom.microsoft.sqlserver.jdbc.SQLServerException: 不支持此服务器版本。目标服务器必须是 SQL Server 2000 或更高版本。rn at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)rn at com.microsoft.sqlserver.jdbc.DBComms.Prelogin(Unknown Source)rn at com.microsoft.sqlserver.jdbc.DBComms.(Unknown Source)rn at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(Unknown Source)rn at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(Unknown Source)rnrnrn问题是我是用的2008,至于JDBC的驱动版本是1.2,好像是最新的,到底是什么问题????? 论坛

没有更多推荐了,返回首页