当前位置: 代码迷 >> Eclipse >> jsp怎样通过jdbc链接SQL2005数据库呀?该怎么处理
  详细解决方案

jsp怎样通过jdbc链接SQL2005数据库呀?该怎么处理

热度:52   发布时间:2016-04-23 13:36:48.0
jsp怎样通过jdbc链接SQL2005数据库呀?
困扰了我四五天的问题了,一般我都会自己去网上找解决的方法,可是这次实在是没有办法了,jsp总是和SQL2005链接不上。 
  最近要建设一个jsp网站,选择用Eclipse开发软件,用SQL2005作为数据库,用Tomcat作为本地虚拟服务器,用JDBC链接jsp文件和数据库,可是老是出错,求哪位大侠能指点一下这四个(“Eclipse”、“SQL2005”、“Tomcat”、“JDBC”)之间的关系,还有就是教教我怎样配置这4个东西。
  我看了一下有关的文章,在配置时要弄环境变量“classpath”,可是我的电脑“用户变量”和“系统变量”都没有这个变量名,是不是要自己新建呀?
  求大侠能详细说明各个配置的步骤,小弟感激不尽!

------解决方案--------------------
你在网上找找jdbc连接数据库的6个步骤
------解决方案--------------------
书上的第一节就是教怎么配置路径的。
------解决方案--------------------
classpath 是自己配置的

最进刚好在学 Jdbc连接数据库 不过我用的是Oracle数据库
jdbc连接数据库的六个步骤:
(1)加载驱动程序

Class.forName("com.microsoft.sqlserver.jdbc.SQLserverDriver");

(2)建立连接
Connection con = DriverManager.getConnection(URL, userName,userPwd);

(这里的URL = "jdbc:sqlserver://服务器名称:1433; DatabaseName = 数据库名称")

(后两个参数userName和userPwd分别是用户和密码,,如果没有的话,可以不写)

(3) : 建立Statement (通过Connection对象进行创建)
Statement st = con.createStatement();

//建立 Statement 之后,就可以使用Statement的对象 st 来执行sql语句了。。
(4)执行SQL语句
String sql=“insert into.........”(增删改查语句)

int i = st.executeUpdate(sql);

(5) 5:处理结果集(select)
如果有并且你想处理就处理,不想处理就不处理
(6)关闭资源 (先开后关)

st.close();//报异常用Eclipse 可以根据提示 解决
con.close();


同为初学者 若有错误还请指点纠正


------解决方案--------------------
个人介意: 你把安装的东西从新安装一下,只有规范,才能做出好东西

下面这个是环境安装:
http://topic.csdn.net/u/20110829/13/BF4FAA45-3E1A-48A8-BC46-0405B7F862A2.html

至于JDBC数据库连接:
1. 首先说说java中的吧

Java code
import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;public class JDBConnection {    public Connection conn = null; // 声明Connection对象的实例    public Statement stmt = null; // 声明Statement对象的实例    public ResultSet rs = null; // 声明ResultSet对象的实例        private static String dbClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//定义保存数据库驱动的变量    private static String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_ATM";    private static String dbUser = "sa";    private static String dbPwd = "sa";    public JDBConnection(String propertyFileName) {// 带属性文件名的构造方法        Properties prop = new Properties();// 属性集合对象        InputStream is = null;        try {            is = JDBConnection.class.getClassLoader().getResourceAsStream(                    propertyFileName);// 属性文件输入流            // is = new FileInputStream("src/" + propertyFileName);            prop.load(is);// 将属性文件流装载到Properties对象中            is.close();// 关闭流            dbClassName = prop.getProperty("dbClassName");            dbUrl = prop.getProperty("dbUrl");            dbUser = prop.getProperty("dbUser");            dbPwd = prop.getProperty("dbPwd");        } catch (Exception e) {            System.out.println("属性文件  " + propertyFileName + " 打开失败!");        }        try {            Class.forName(dbClassName);// 1.注册驱动        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public JDBConnection() {// 默认的不带参数的构造函数        try {            Class.forName(dbClassName);// 1.注册驱动        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public static Connection getConnection() {        Connection conn = null;        try {            // Class.forName(dbClassName);// 1.注册驱动            conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//2.建立与数据库的链接        } catch (Exception ee) {            ee.printStackTrace();        }        if (conn == null) {            System.err                    .println("警告: DbConnectionManager.getConnection() 获得数据库链接失败.\r\n\r\n链接类型:"                            + dbClassName                            + "\r\n链接位置:"                            + dbUrl                            + "\r\n用户/密码"                            + dbUser + "/" + dbPwd);        }        return conn;    }    /*     * 功能:执行查询语句     */    public ResultSet executeQuery(String sql) {        try { // 捕捉异常            conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,//3.创建语句                    ResultSet.CONCUR_READ_ONLY);            rs = stmt.executeQuery(sql);//4.执行查询        } catch (SQLException ex) {            System.err.println(ex.getMessage()); // 输出异常信息        }        return rs; // 返回结果集对象 5.结果处理    }    /*     * 功能:执行更新操作     */    public int executeUpdate(String sql) {        int result = 0; // 定义保存返回值的变量        try { // 捕捉异常            conn = getConnection(); // 调用getConnection()方法构造Connection对象的一个实例conn            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,                    ResultSet.CONCUR_READ_ONLY);            result = stmt.executeUpdate(sql); // 执行更新操作        } catch (SQLException ex) {            result = 0; // 将保存返回值的变量赋值为0        }        return result; // 返回保存返回值的变量    }    /*     * 功能:关闭数据库的连接     */    public void close() {//6.释放资源        try { // 捕捉异常            try {                if (rs != null) { // 当ResultSet对象的实例rs不为空时                    rs.close(); // 关闭ResultSet对象                }            } finally {                try {                    if (stmt != null) { // 当Statement对象的实例stmt不为空时                        stmt.close(); // 关闭Statement对象                    }                } finally {                    if (conn != null) { // 当Connection对象的实例conn不为空时                        conn.close(); // 关闭Connection对象                    }                }            }        } catch (Exception e) {            e.printStackTrace(System.err); // 输出异常信息        }    }}
  相关解决方案