0

ボタン -> conectaDB(DB 接続) ->inseredadosBD(DB にデータを挿入)

メソッドから挿入するために、接続を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取るメソッドが定義されていないため、これらは機能しません。Connection

編集あなたのコメントに従って、

はい、私は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 に答える