Hallo!
Ich versuche mir eine kleine Connectionklasse für MYSQL in java zu schreiben.
diese sieht wie folgt aus
diese Klasse soll nun zu Testzwecken in einer kleine Select-Anwendung ausgeführt bzw. verwendet werden.
Jedoch bekomme ich da folgende Probleme
Ich habe doch keine statischen Methoden in der MySQLConnect-Klasse verwendet oder gelten die Variablen als static?
Eine Erklärung währe sehr hilfreich, ich steh da gerade echt auf dem Schlauch
Gruß niesel
Ich versuche mir eine kleine Connectionklasse für MYSQL in java zu schreiben.
diese sieht wie folgt aus
Java:
import java.sql.*;
public class MySQLConnect {
private String dbmysqldrv="com.mysql.jdbc.Driver";
private String dbmysqlurl="jdbc:mysql://localhost:3306/test";
private String dbmysqlusr="root";
private String dbmysqlpw="password";
private String dbiniterrorstr="";
private String connecterrorstr="";
private String sqlexcstr="";
private String sqlwarnstr="";
public boolean initDatabaseDriver(){
try {
Class.forName(dbmysqldrv);
return true;
}//try
catch(Exception e) {
dbiniterrorstr= (dbiniterrorstr+"\n--- Fehler bei der Treiberregistrierung ---\n");
dbiniterrorstr=(dbiniterrorstr+e.getMessage());
e.printStackTrace();
return false;
}//catch
}//initDatabaseDriver
public Connection connectDataBase() {
Connection con = null;
try {
con =DriverManager.getConnection(dbmysqlurl,dbmysqlusr,dbmysqlpw);
}//try
catch(SQLException e) {
connecterrorstr=(connecterrorstr+"\n--- Fehler bei der Treiberregistrierung ---\n");
connecterrorstr=(connecterrorstr+e);
}//catch
catch(Exception e) {
connecterrorstr=(connecterrorstr+"\n--- Fehler bei der Treiberregistrierung ---\n");
connecterrorstr=(connecterrorstr+e);
}//catch
return con;
}//connectDataBase
public String getDBinitError() {
return dbiniterrorstr;
}
public String getConnectError() {
return connecterrorstr;
}
}//class
Java:
import java.sql.*;
public class Select2 {
MySQLConnect mysqlcon = new MySQLConnect();
private Statement stmt = null;
private ResultSet rs = null;
boolean initdrv=mysqlcon.initDatabaseDriver();
Connection con=mysqlcon.connectDataBase();
public static void main(String[] argv) {
if (!initdrv) {
System.out.println(mysqlcon.getDBinitError());
}
if(!con) {
System.out.println(mysqlcon.getConnectError());
}
try {
System.out.println("Verbindung zu DB ok\nDatenbank aus der Datenbank holen...");
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT * FROM mitarbeiter");
System.out.println("gelesene Ergebnisse:");
while(rs.next()) {
String nummer = rs.getString(1);
String name = rs.getString(2);
String vorname = rs.getString(3);
System.out.println("Nummer="+nummer);
System.out.println("Name="+name);
System.out.println("Vorname="+vorname);
}//while
rs.close();
stmt.close();
con.close();
}//try
catch(SQLException e) {
System.out.println(e.getMessage);
}//catch
}//main
}//class
Code:
Select2.java:15: non-static variable initdrv cannot be referenced from a static context
if (!initdrv) {
^
Select2.java:16: non-static variable mysqlcon cannot be referenced from a static context
System.out.println(mysqlcon.getDBinitError());
^
Select2.java:19: non-static variable con cannot be referenced from a static context
... und weitere, die auf die obigen Probleme aufbauen
Eine Erklärung währe sehr hilfreich, ich steh da gerade echt auf dem Schlauch
Gruß niesel