标题:求助,怎么用 JDBC 使 java 环境与数据库连接?
只看楼主
bianchenggou
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-6-19
结帖率:0
已结贴  问题点数:20 回复次数:6 
求助,怎么用 JDBC 使 java 环境与数据库连接?
在网上下了个JDBC的驱动,实际上就是一个压缩包,把它的.jar文件导入进eclipse 中,也编写了相应的连接代码,可是点运行的时候没反应,这是怎么一回事??
搜索更多相关主题的帖子: 数据库连接 压缩包 java 网上 
2014-06-19 10:07
bianchenggou
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-6-19
得分:0 
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.sql.Statement;  
  
public class JDBC_test {  
    // 创建静态全局变量   
    static Connection conn;  
  
   static Statement st;  
  
    public static void main(String[] args) {  
        insert();   //插入添加记录   
        update();   //更新记录数据   
        delete();   //删除记录   
        query();    //查询记录并显示   
    }  
      
    /* 插入数据记录,并输出插入的数据记录数*/  
    public static void insert() {  
         
        conn = getConnection(); // 首先要获取连接,即连接到数据库   
  
        try {  
            String sql = "INSERT INTO kaoqin(SNO, AbsentSum, AbsentTime,AbsentClass)"  
                    + " VALUES ('1110', 1, '2013-4-23')";  // 插入数据的sql语句   
              
            st = (Statement) conn.createStatement();    // 创建用于执行静态sql语句的Statement对象   
              
            int count = st.executeUpdate(sql);  // 执行插入操作的sql语句,并返回插入数据的个数   
              
            System.out.println("向kaoqin表中插入 " + count + " 条数据"); //输出插入操作的处理结果   
              
            conn.close();   //关闭数据库连接   
              
        } catch (SQLException e) {  
            System.out.println("插入数据失败" + e.getMessage());  
        }  
    }  
      
    /* 更新符合要求的记录,并返回更新的记录数目*/  
    public static void update() {  
        conn = getConnection(); //同样先要获取连接,即连接到数据库   
        try {  
            String sql = "update kaoqin set AbsentClass where SNO = '1101'";// 更新数据的sql语句   
              
            st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量   
              
            int count = st.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数   
              
            System.out.println("kaoqin表中更新 " + count + " 条数据");      //输出更新操作的处理结果   
              
            conn.close();   //关闭数据库连接   
              
        } catch (SQLException e) {  
            System.out.println("更新数据失败");  
        }  
    }  
  
    /* 查询数据库,输出符合要求的记录的情况*/  
    public static void query() {  
         
        conn = getConnection(); //同样先要获取连接,即连接到数据库   
       try {  
            String sql = "select * from kaoqin";     // 查询数据的sql语句   
            st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量   
            
            ResultSet rs = st.executeQuery(sql);    //执行sql查询语句,返回查询数据的结果集   
            System.out.println("最后的查询结果为:");  
           while (rs.next()) { // 判断是否还有下一个数据   
                  
                // 根据字段名获取相应的值   
                String SNO = rs.getString("SNO");  
               
                int AbsentSum = rs.getInt("AbsentSum");  
                String AbsentTime = rs.getString("AbsentTime");  
                String AbsentClass = rs.getString("AbsentClass");  
                  
                  
                //输出查到的记录的各个字段的值   
                System.out.println(SNO + " " + AbsentSum + " " + AbsentTime + " " + AbsentClass  
                        + " " );  
              
            }  
            conn.close();   //关闭数据库连接   
              
        } catch (SQLException e) {  
            System.out.println("查询数据失败");  
        }  
    }  
  
    /* 删除符合要求的记录,输出情况*/  
    public static void delete() {  
  
        conn = getConnection(); //同样先要获取连接,即连接到数据库   
        try {  
            String sql = "delete from kaoqin  where SNO = '1101'";// 删除数据的sql语句   
            st = (Statement) conn.createStatement();    //创建用于执行静态sql语句的Statement对象,st属局部变量   
              
            int count = st.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量   
              
            System.out.println("kaoqin表中删除 " + count + " 条数据\n");    //输出删除操作的处理结果   
              
            conn.close();   //关闭数据库连接              
        } catch (SQLException e) {  
            System.out.println("删除数据失败");  
        }  
         
    }  
      
    /* 获取数据库连接的函数*/  
    public static Connection getConnection() {  
        Connection con = null;  //创建用于连接数据库的Connection对象   
        try {  
            Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动   
            
            con = DriverManager.getConnection(  
                    "jdbc:mysql://localhost:3306/test", "root", "mysql");// 创建数据连接  
              
        } catch (Exception e) {  
            System.out.println("数据库连接失败" + e.getMessage());  
        }  
        return con; //返回所建立的数据库连接   
    }  
}
这是我的代码
2014-06-19 10:14
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:5 
初步看了你的代码,没有问题,就不知道你是怎么导入工程中

思考赐予新生,时间在于定义
2014-06-21 02:01
xioun
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:68
专家分:309
注 册:2013-4-8
得分:5 
没有输出debug一下就知道了

命若天定,我就破了这个天!
2014-06-23 09:11
gao789li123
Rank: 2
等 级:论坛游民
帖 子:6
专家分:25
注 册:2014-6-25
得分:5 
是哪一步出现问题了?连接通过没有?先测试下Connection的连接吧
2014-06-25 14:37
xl881221
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:30
专家分:177
注 册:2014-3-23
得分:5 
一看你获取的连接就有问题,你下载的是什么数据库的JDBC驱动,你电脑里装了该驱动对应的数据库吗,还要确定一下驱动导到build path里
我只用过mysql数据库,如果是mysql的话加个静态代码块,在静态代码块获取连接,再把方法里的conn = getConnection();去掉试试
static{
    Class.forName("com.mysql.jdbc.Driver");//加载mysql驱动

    String url="jdbc:mysql://localhost:3306/mydb"//这是我本机mysql数据库里mydb库的url,localhost:3360表示mysql所在主机:mysql工作端口,mydb是我数据库里的一个库一定要改成你的数据库里的库
    String username=""//数据库的用户名,自己填
    String passeord=""//数据库的密码,知己填
    conn=DriverManager.getConnection(url, username, password);//建立连接
}
2014-06-25 21:13
qizhongshun
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:26
注 册:2011-9-16
得分:0 
在主函数里面输出一条语句System.out.println(conn.getConnection());测试一下 看有没有连接到数据库中。  
重新把包导入工程然后部署一下 , 不行的话就换个包
2014-06-30 19:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-433137-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.289360 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved