0

私は本当に奇妙な奇妙な状況にあります。それは私を夢中にさせています。私はコードを1時間いじっていましたが、最後に、別のプロジェクトでは正常に機能することがわかりました。データベースから情報を取得したい。

だから私はこれを実行します:

    public class DBtest {

    public static void main(String[] args) throws Exception {
        KnockKnockProtocol kkp = new KnockKnockProtocol();
        kkp.processInput("USERNAME,PASSWORD");
    }

}

これを呼び出す:

    import java.net.*;
import java.io.*;

import org.apache.commons.codec.binary.Base64;

import de.vogella.mysql.first.load_login;

public class KnockKnockProtocol {

    public String theOutput[];

    public void processInput(String theInput) throws Exception {

        String[] data = theInput.split(",");

        byte[] encoded = Base64.encodeBase64(data[1].getBytes());
        String pass = new String(encoded);

        load_login get = new load_login();
        theOutput = get.nalozi(data[0], pass);

        for (String n : theOutput) {
            System.out.println(n);
        }
    }

}

これは、DB を呼び出して結果を取得するための私のコードです。

    package de.vogella.mysql.first;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

import org.apache.commons.codec.binary.Base64;

public class load_login {
    private Connection connect = null;
    private Statement statement = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;
    int count = 0;
    String user, password, ssl, tls, smtp_domain, smtp_port, signature = null;

    String[] rezultat = new String[3];

    public String[] nalozi(String mail, String pass) throws Exception {
        try {

            // This will load the MySQL driver, each DB has its own driver
            Class.forName("com.mysql.jdbc.Driver");
            // Setup the connection with the DB
            connect = DriverManager
                    .getConnection("jdbc:mysql://localhost/?????"
                            + "user=?????&password=?????");

            String checkSql = "select * from OFFLINE where (user_mail='" + mail
                    + "' AND user_pass='" + pass + "')";

            Statement st = connect.createStatement();
            resultSet = st.executeQuery(checkSql);

            while (resultSet.next()) {
                rezultat[0] = user = resultSet.getString("user_mail");
                rezultat[1] = password = resultSet.getString("user_pass");
                rezultat[2] = ssl = resultSet.getString("ssl_protocol");
            }

        } catch (Exception e) {
        } finally {
            close();
        }

        return rezultat;
    }

    private void close() {
        try {
            if (resultSet != null) {
                resultSet.close();
            }

            if (statement != null) {
                statement.close();
            }

            if (connect != null) {
                connect.close();

            }
        } catch (Exception e) {

        }

このすべてのコードで申し訳ありません。つまり、ある Eclipse プロジェクトでは結果が正しく、別のプロジェクトでは結果が NULL であるということです -> null が 3 回書き込まれます。これはバグですか、それとも非常に重要な何かが欠けていますか?

助けてくれてありがとう。

4

0 に答える 0