2013-02-24 55 views
0

我实现一个简单的教程,连接到Java DB与Java程序

使用NetBeans IDE 7 一个java程序连接到Java DB 。 这里是教程的链接。

http://www.homeandlearn.co.uk/java/connect_to_a_database_using_java_code.html 

但是当我运行该项目,NetBeans的给了我以下错误:

run: 
java.lang.VerifyError: Constructor must call super() or this() before return in method database_console.DBConnect.<init>()V at offset 0 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442) 
    at java.lang.Class.getMethod0(Class.java:2685) 
    at java.lang.Class.getMethod(Class.java:1620) 
    at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:492) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:484) 
Exception in thread "main" Java Result: 1 
BUILD SUCCESSFUL (total time: 12 seconds) 

下面是该项目

package database_console; 

    import java.sql.Connection; 
    import java.sql.DriverManager; 
    import java.sql.SQLException; 

    public static void main(String[] args) {   
      try { 
      String host = "jdbc:derby://localhost:1527/Employees"; 
      String uName="faisal"; 
      String uPass="password"; 
      Connection con=DriverManager.getConnection(host, uName, uPass);   
      } 
      catch (SQLException err) { 
    System.out.println(err.getMessage()); 
    } 
     } 
    } 

任何可用的建议,以解决这一问题的代码

+0

那是你真正的代码(不多也减)? – 2013-02-24 14:58:56

+0

请发布您的整个代码(是的,不要介意它是否是代码墙)。 – 2013-02-24 15:04:58

+0

是的,这是整个代码@ Luiggi门多萨 – 2013-02-24 15:07:05

回答

0

您没有按照正确链接的tutorial

您的代码应该是这样的:

package database_console; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class DBConnect { // <--- This is missing from your code 

    public static void main(String[] args) { 
     try { 
      String host = "jdbc:derby://localhost:1527/Employees"; 
      String uName = "faisal"; 
      String uPass = "password"; 
      Connection con = DriverManager.getConnection(host, uName, uPass); 
     } catch (SQLException err) { 
      System.out.println(err.getMessage()); 
     } 
    } // <--- This is also missing from your code 
} 

它应该是一个在包名为DBConnect.java文件名为database_console

+0

您应该指出,代码来自[教程](http://www.homeandlearn.co.uk/java/connect_to_a_database_using_java_code.html),不是来自您的头顶。 – 2013-02-24 15:09:24

+0

是的。 OP在尝试使用提示后出现在 – user000001 2013-02-24 15:09:45

+0

这个问题中,现在NetBeans IDE强调了他使用以下消息重复类声明了类声明database_console.DBConnect – 2013-02-24 15:19:39

2

如果你的上面的代码是你正在使用的,那么你需要把你的整个代码类。

//Package declarations (if any) 
//Import packages 
public class className { 

    public static void main(String[] args) { 
     //Other code 
    } 
} 
+0

,但认为上述代码中的public clas className是类声明 – 2013-02-24 15:03:41

+0

@faisalabdulai,在您的代码中没有公共类或非公共类。 – 2013-02-24 15:17:21

0

请添加类到您的main()。就像下面

package database_console; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 

public class DBConnect 
{ 

    public static void main(String[] args) 
    { 
     try 
     { 
      String host = "jdbc:derby://localhost:1527/Employees"; 
      String uName = "faisal"; 
      String uPass = "password"; 
      Connection con = DriverManager.getConnection(host, uName, uPass); 
     } 
     catch (SQLException err) 
     { 
      System.out.println(err.getMessage()); 
     } 
    } 
} 
0

这个类是用于创建数据库连接

import java.sql.Connection; 
import java.sql.*; 

public class GetDBConnection 
{ 
    public static Connection getConnection(String[] args) 
    { 
     String host = "jdbc:derby://localhost:1527/Employees"; 
     String uName="faisal"; 
     String uPass="password"; 
     Connection con=null; 
     try 
     { 
       con=DriverManager.getConnection(host, uName, uPass);   
     } 
     catch (SQLException err) 
     { 
     System.out.println(err.getMessage()); 
     } 
     return con; 
    } 

} 

这个类是用来获取coonection并用它

public class UseDBConnection 
{ 
    public static void main(String[] args) 
    { 
     GetDBConnection object = new GetDBConnection(); 
     System.out.println("now you can use this DB like you want it and can create as many connection as you want"); 
    } 
}