0

ユーザーがデータベース接続のURL、名前、パスワードを変更するためのスペースから(とりわけ)プログラムを作成しています。

クラスでは、ファイルに保存されている値を取得し、ここまではすべて問題ありません。問題は、クラスにいるときにバタベースの接続に関して発生します。OutProp メソッド (プロパティ ファイル内のデータをフェッチする) が問題ではありません。別のクラスで試してみたところ、完全に機能したからです。したがって、パブリック静的メソッド Connection ConnectDb() でコードを記述する際に問題があると思いますが、静的であるため、異なる動作をする必要があります。最近 Java の勉強を始めたので、何かを逃したと思います。

PS。書き込みConnection conn = DriverManager. getConnection ("jdbc: mysql://localhost/databaseprogetto/root/root");はデータベースに接続します。

提案や解決策をありがとうございました。うまく説明できたことを願っています。

 import java.io.FileInputStream;
 import java.sql.*;
 import javax.swing.*;
 import java.io.IOException;
 import java.util.Properties;

 public class JavaConnect {

 Connection conn = null;
 static String url_database;
 static String username;
 static String password;

 public void OutProp (){

 Properties prop = new Properties();

    try {   
        prop.load(new FileInputStream("config.properties"));

            url_database = prop.getProperty("Url");
            username = prop.getProperty("Username");
            password = prop.getProperty("Password");


    } catch (IOException ex) {
        ex.printStackTrace();
    }
 }


 public static Connection ConnectDb(){

    try{         
        Class.forName ("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection (url_database,username,password);

        return conn;
    }
    catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
        return null;
    }
 }
}
4

1 に答える 1

0

1.プロパティ ファイルの 2 つのオペランドの両側にスペースがないことを確認してください。

例えば:

Property1=value1
Property2=value2

2.これをプロジェクトProperty fileのフォルダーに入れてみてください。bin

于 2012-10-07T13:20:54.560 に答える