无法从java中的另一个类访问一个类

时间:2017-03-25 18:43:41

标签: java database sqlite class access

我正在编写一个使用SQLite作为数据库的java应用程序。我正在尝试为数据库连接使用单独的类文件,并在其他类中使用它进行数据库连接。

private void insertActionPerformed(ActionEvent evt) {                                       
    //Statement statement= null;
   // PreparedStatement ps = null;
    //Connection con = null;

    try {
    Connect_db con = new Connect_db();
    //con = conn.getConnection();
    String query = "insert into emp_info (emp_id,emp_pwd,emp_name,emp_addres,emp_salary) values (?,?,?,?,?)";
    Connection conn = con.getConnection();
    PreparedStatement ps = conn.prepareStatement(query);

    ps.setInt(1, Integer.parseInt(emp_id.getText()));
    ps.setString(2, emp_pwd.getText());
    ps.setString(3, emp_name.getText());
    ps.setString(4, emp_addres.getText());
    ps.setInt(5, Integer.parseInt(emp_salary.getText()));
    ps.executeUpdate(query);
    ps.close();
    conn.close();


    } catch (SQLException ex) {
        Logger.getLogger(admin_emp_insert.class.getName()).log(Level.SEVERE, null, ex);
    }

}

这是调用连接类的类。

public class Connect_db {        
public Connection getConnection()
{
    Connection con=null;
    try
    {
    Class.forName("org.sqlite.JDBC");
    String dbURL = "jdbc:sqlite:C:/Users/Hasan/Desktop/SQLiteStudio/central.db";
    con = DriverManager.getConnection(dbURL);
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }
    return con;        
}}

这是与SQLite建立连接的连接类。 但是在编译调用类之后,它给了我一个错误。

C:\Users\Hasan\Documents\NetBeansProjects\JavaProject\src\javaproject\admin_emp_insert.java:181: error: cannot access Connect_db
    Connect_db con = new Connect_db();
bad source file: C:\Users\Hasan\Documents\NetBeansProjects\JavaProject\src\javaproject\Connect_db.java
file does not contain class javaproject.Connect_db

但这两个类都在同一个文件夹中。我尽我所能,但无法解决它。如果您认为这是一个重复的问题,请将其标记为重复。因为这是我的第一篇文章,所以可能存在一些错误。

2 个答案:

答案 0 :(得分:0)

您需要导入Connect_db类,位于包含insertActionPerformed函数的类的顶部。

import Connect_db; // If it's in the same package

public class X {
     private void insertActionPerformed(ActionEvent evt) {                                       
     /* implementation */        
     }

     /* Further class details */
}

答案 1 :(得分:0)

我认为它是关于chmod的。

错误:无法访问Connect_db。