0

按钮-> conectaDB(连接数据库)-> inseredadosBD(将数据插入数据库)

如何将连接返回到 inseredadosBD,从方法中插入?

按钮事件:

public void inseredadosBD(String grupo, int protocolo, String dataentrada, String escrevente, String auxiliar, String datalimite) {
    conectaBD();
-> here i will use the insert, i was planning to use something like conn.execute.. from here, but
}

我尝试了 conectaBD(Connection conectado);, 尝试了 conectaBD(conectado);

做类似 conectado.execute.. 之类的事情,但没有用:/

方法 conectaBD

public class metodos {
    public Connection conectado;
    public Connection conn;
    public Connection conectaBD() {
        //metodo responsavel por fazer a conexão com o BD
        try {
        try {
            Class.forName("org.sqlite.JDBC");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        conn = DriverManager.getConnection("jdbc:sqlite:c:\\grupo1.db");
//      Statement stm = conn.createStatement();  

        if (conn != null) {
            System.out.println("Conectou" );
//          fechaconexaoBD(conn);
        } else {
            System.out.println("Conexão Fail");
        }
        } catch (SQLException e) {
            System.out.println("Erro de conexão " );
            e.printStackTrace();
        }   
        return conn;
    }

..here go the rest of the code...

忘了//,我只是在尝试/测试一些东西:s

4

1 回答 1

1

您可能还想包含您遇到的错误。

我尝试了 conectaBD(Connection conectado);, 尝试了 conectaBD(conectado);

这些将不起作用,因为您没有conectaBD定义将 aConnection作为参数的方法。

编辑根据您的评论,

是的,我有方法 conectaBD ......它在第一个代码块中!这不是一种方法,因为“连接”吗?问题是这样的,我怎样才能将连接传递给 inseredadosBD,这是我的问题:

是的,您确实有该方法conectaBD(),但您正在尝试调用conectaBD(Connection)尚未定义的方法

但我可以建议几个选项:

  1. 将你的inseredadosBD()方法放在你的metodos类中,这样你就可以访问你的Connection变量。所以在打电话后conectaBD你会想conn用作你的连接

  2. 将连接作为参数传递给您的inseredadosBD()方法,然后使用该连接。就像inseredadosBD(String.... , Connection c) 编辑一样,如果你这样做,那么你不要conectaBD()在这个方法内部调用,在调用这个方法之前调用它,然后像这样调用这个方法,inseredadosBD(/*data you want to insert*/, conn)然后在这个方法中你Connection被调用c,所以你可以使用如下的连接对象 c

    public void inseredadosBD(String grupo, int protocolo, String dataentrada, String escrevente, String auxiliar, String datalimite, Connection c) {
        c.//What ever connection method you want to use
          //here i will use the insert, i was planning to use something like conn.execute.
     }
    
  3. 在您的...中实例化您的metodos课程不是很漂亮

于 2013-08-06T01:31:26.270 回答