【问题标题】:My Connection Code is not working why?我的连接代码不起作用,为什么?
【发布时间】:2011-11-28 02:59:51
【问题描述】:

为什么我的连接代码不起作用?我的密码、用户、主机和驱动程序都正确,但为什么它不起作用?

 import java.sql.*;

public class Connection {

    public  String url = "jdbc:mysql://localhost:3306/Testdb";
    public String driver = "com.mysql.jdbc.Driver";
    public String user = "root";
    public String pass = "123192";

    public void JdbcConnection(){

        try{
            Class.forName(driver);
        }catch(Exception e){
            e.printStackTrace();
        }

        try{
            Connection con = DriverManager.getConnection(url,user,pass);
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

【问题讨论】:

  • 仅从代码很难判断。您看到的错误是什么?
  • 会抛出异常吗?
  • 报告的具体错误是什么?
  • 错误是在 Connection con 它不起作用
  • @user962206 为什么不粘贴堆栈跟踪以便我们更好地帮助您?

标签: java database jdbc connection


【解决方案1】:

问题是“Connection con”的类型应该是java.sql.Connection,但是由于您自己的类被称为Connection,您的代码认为您正在引用它而不是java.sql.Connection。您可以使用完整的类名来消除 con 的类型,如下所示:

try{
    java.sql.Connection con = DriverManager.getConnection(url,user,pass);
}catch(Exception e){
    e.printStackTrace();
}

【讨论】:

    【解决方案2】:

    请更改您的班级名称(它不能是Connection,尤其是当您导入java.sql.*时)并且您需要在获取连接时指定用户名和密码。

    public class TestConnection {
       ....
       Connection con = DriverManager.getConnection(url,user,pass);
    }
    

    【讨论】:

    • @user962206 - 你必须更改类的名称。
    • 谢谢 :) 这回答了我的问题。非常感谢
    猜你喜欢
    • 2014-01-23
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多