Java [sql] jdbc

SteveKanonfreak

Cadet 2nd Year
Registriert
Juli 2011
Beiträge
22
Hallo, ich brauch unbedingt eure Hilfe. Erstens ich bin kein reiner Informatiker, deswegen verzeiht meine Unkenntnisse in dem Bereich. (Wirtschaftsinformatiker) Ich muss für eine Klausur SQL Anfragen in Java einbetten. Ich hab mir dazu die Lösung zu der Aufgabe angeschaut. Doch die haben nur Methoden benutzt, die private sind und ohne static. Deswegen meine Fragen wie benutz ich diese Methoden in der main? Für kurze Beispiele wie ich die Methoden benutze, wäre ich sehr dankbar. (Url, pwd, und login hab ich mal noch keine Werte zugewiesen)

Code:
import java.sql.*;
import oracle.jdbc.driver.*;

public class MYSQL {
	private String dbUrl;
	// set user
	private String login;
	// set password
	private String pwd;
	private Connection openConnection;

	// 1.Methode
	private boolean establishConnection() {
		// load driver
		try {
			DriverManager.registerDriver(new OracleDriver());
			this.openConnection = DriverManager.getConnection(dbUrl, login, pwd);
			return !this.openConnection.isClosed();
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}

	// 2.Methode
	private boolean executeStatement(String statement) {
		Statement stmt;
		try {
			stmt = this.openConnection.createStatement();
			stmt.executeUpdate(statement);
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}

	// 3.Methode
	private boolean executeQuery(String query) {
		Statement stmt;
		try {
			stmt = this.openConnection.createStatement();
			ResultSet result = stmt.executeQuery(query);
			displayResults(result);
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}

	// 4.Methode
	private void displayResults(ResultSet result) {
		try {
			int cols = result.getMetaData().getColumnCount();
			while (result.next()) {
				String row = new String(" | ");
				for (int i = 1; i <= cols; i++) {
					row = row.concat(result.getString(i) + " | ");
				}
				System.out.println(row);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	//5.Methode
	private boolean closeConnection() {
		try {
			this.openConnection.close();
			this.openConnection = null;
			return true;
		} catch (SQLException e) {
			e.printStackTrace();
			return false;
		}
	}
	
	public static void main (String[] args){
		 
	}
	
}
 
Du kannst private Methoden nicht von außerhalb aufrufen, da diese nur in der Klasse selbst sichtbar sind ( deine Klasse wäre hier MYSQL ).

Daher machst du folgendes in der Main

Code:
MYSQL mysql = new MYSQL();

Ab dann kannst du jede Methode mit mysql.methode aufrufen

Code:
mysql.establishConnection();
als Beispiel (funktioniert hier aber auch nur, weil die main in der selben Klasse steckt).
 
Zuletzt bearbeitet: (funktioniert hier aber auch nur, weil die main in der selben Klasse steckt).)
Zurück
Oben