JAVA & Microsoft Access - Anmeldung

NumeroUno

Grünschnabel
Servus,

ich habe eine Access Datenbank und möchte nun über JAVA auf diese Datenbank
Zugriff haben. Da es eine geschäftliche wichtige Datenbank ist, MUSS sie einen
Schreib- & Leseschutz haben.

Hier der Code :

Code:
  import java.sql.Connection;
  import java.sql.DriverManager;
  import java.sql.ResultSet;
  import java.sql.ResultSetMetaData;
  import java.sql.Statement;
  
  
  public class SQL {
  	
      
  	public static void main(String[] args) throws Exception {
  		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  
  		Connection con = DriverManager
 		 	.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:/Testumgebung/Test.mdb","sa","test");
  
  		Statement stmt = con.createStatement();
  
  		ResultSet rs = stmt.executeQuery("SELECT * FROM MA");
  		ResultSetMetaData rsmd = rs.getMetaData();
  		int clmCnt = rsmd.getColumnCount();
                
  
  		while (rs.next()) {
  			for (int i = 1; i <= clmCnt; i++) {
 				System.out.print(rs.getString(i));
  				System.out.print(" ");
  			}
  			System.out.println();
  		}
  		rs.close();
  		stmt.close();
  		con.close();
                
  	}
  }


Nun meine Frage. Und zwar möchte ich eine OOP Oberfläche haben, in der ich das Passwort eingeben muss, bevor die Anwendung eine Verbindung aufbauen kann. Wie kann ich den Wert so übergeben, dass er beim Ausführen des o.g. Codes als Passwort eingetragen ist ? Es müsste einfach den Text "sa" und "test" in diesem Fall ersetzen.


Ich hoffe auf eure Hilfe.

Viele Grüße & Vielen Dank

NumeroUno
 
Zuletzt bearbeitet:
Hallo,

ich denke mal, dass das ganze nicht in der main-Methode stehen bleiben soll. Ich würde einfach eine eigene Methode schreiben, die den Namen und das Passwort übergeben bekommt.

Java:
public void connect(String name, String passwort){

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  
  		Connection con = DriverManager
 		 	.getConnection("jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=C:/Testumgebung/Test.mdb",name,passwort);
  
  		Statement stmt = con.createStatement();
  
  		ResultSet rs = stmt.executeQuery("SELECT * FROM MA");
  		ResultSetMetaData rsmd = rs.getMetaData();
  		int clmCnt = rsmd.getColumnCount();
                
  
  		while (rs.next()) {
  			for (int i = 1; i <= clmCnt; i++) {
 				System.out.print(rs.getString(i));
  				System.out.print(" ");
  			}
  			System.out.println();
  		}
  		rs.close();
  		stmt.close();
  		con.close();

}

Ein Rat von mir ist noch, wenn dir sowas schon Probleme bereitet, solltest du dir mal die Grundlagen von OOP anschauen. Also was Methoden angeht, Klassen, Übergabeparameter und das alles.

MFG

zEriX
 
Zurück