Hallo Ihr lieben entschuldigt bitte das ich mich so lange nicht gemeldet habe.
Nun sitze ich wieder an meinem Problem und habe im Source code die Datei zum Öffnen der BD gefunden da ich aber nur sehr begrenzte Ahnung von Java habe bin ich hier verloren.
Kann mir bitte einer von euch Helfen diese so umzubauend das auch unter Java 8 die Verbindung funktioniert.
Hier ist der Code den ich gefunden habe:
import java.sql.*;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import Datenklassen.*;
/**
* <p>Diese Klasse stellt Methoden zur Kommunikation mit der
* Datenbank bereit. Hier finden sich alle Datenbankabfragen
* die das Programm nutzt.</p>
*
* <p>Der Hauptnutzen dieser Klasse liegt darin, Vektoren mit
* Datenklassen zurückzuliefern.</p>
*
* <p>Da dieses Programm die Datenbank nur zur Erstellung der
* XML-Datei nutzt, wird sie auch nur in der Klasse <code>XML</code> und
* @see Profiler genutzt.</p>
*
* @author Pierre Schubert
* @version 2007-04-22
*
*/
public class Database {
/** Stellt ein Connection Objekt zur Verfügung */
private Connection connection = null;
/** Der Programmpfad */
private String appPath = System.getProperty("user.dir");
/** Der Dateiname der Datenklasse */
private String filename = "csa_templates.mdb";
/**
* Standardkonstuktor. Baut eine Verbindung zur Datenbank auf.
* Wenn dies nicht gelingt, wirft er einen Fehler, meldet dies
* durch einen JDialog und beendet das Programm.
*/
public Database() {
try {
String conString = "jdbc

dbc

river={Microsoft Access Driver (*.mdb)};" +
"DBQ="+appPath+"/"+filename+";READONLY=true";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection(conString);
} catch(Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(new JFrame(), "<html>Please copy <u>"+filename+"</u> in this directory: <br/>"+ appPath, "Template file not found", JOptionPane.ERROR_MESSAGE);
System.exit(-1);
}
}
/**
* Schließt die Verbindung zur Datenbank.
*/
public void closeConnection() {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* <p>Liefert alle Templates zur Erstellung neuer Profile. Wird in
* einer JComboBox genutzt.</p>
*
* <p>Benutzt zwei Statements um immer nur die höchste Version
* eines Templates zu bekommen</p>
*
*
@Return Liefert einen Vektor gefüllt mit <code>_AssessmentTemplate</code>
*/
public Vector getAssessmentTemplates() {
Vector<_AssessmentTemplate> result = null;
Statement statement = null;
Statement statement2 = null;
ResultSet rs = null;
ResultSet rs2 = null;
String sql = "SELECT name, MAX(version) AS maxVersion " +
"FROM templates " +
"WHERE id_template not like 1 " +
"GROUP BY name;";
try {
result = new Vector<_AssessmentTemplate>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
statement2 = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
rs2 = statement2.executeQuery("SELECT id_template, name, version, date_created FROM templates WHERE name = '"+rs.getString("name")+"' AND version = "+rs.getInt("maxVersion")+";");
while (rs2.next()) {
int id, version;
String name;
Date date;
id = rs2.getInt("id_template");
version = rs2.getInt("version");
name = rs2.getString("name");
date = rs2.getDate("date_created");
result.add(new _AssessmentTemplate(id, version, name, date));
}
}
rs.close();
statement.close();
rs2.close();
statement2.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Elements des Typs <b>Areas</b>.
* @param template_id Die Template ID in der die Areas sind
*
@Return Vector gefüllt mit _Elements des Typs <b>Areas</b>
*/
public Vector getAreas(int template_id) {
Vector<_Elements> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT areas.id_area, areanames.name, areas.weight, areanames.color " +
"FROM areas, areanames " +
"WHERE id_areaname = areaname_id " +
"AND template_id = " + template_id +
" ORDER BY areas.pos IS NOT NULL, areas.pos ASC, areas.id_area ASC";
try {
result = new Vector<_Elements>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_area, weight;
String name;
id_area = rs.getInt("id_area");
weight = rs.getInt("weight");
name = rs.getString("name");
result.add(new _Elements(_Elements.AREA, id_area, weight, name));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Elements des Typs <b>SubAreas</b>.
* @param area_id Die Area ID in der die SubAreas sind
*
@Return Vector gefüllt mit _Elements des Typs <b>SubAreas</b>
*/
public Vector getSubAreas(int area_id) {
Vector<_Elements> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT subareas.id_subarea, subareanames.name, subareas.weight, subareanames.color " +
"FROM subareas, subareanames " +
"WHERE subareaname_id = id_subareaname " +
"AND area_id = " + area_id +
" ORDER BY subareas.pos IS NOT NULL, subareas.pos ASC, subareas.id_subarea ASC";
try {
result = new Vector<_Elements>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_subarea, weight;
String name;
id_subarea = rs.getInt("id_subarea");
weight = rs.getInt("weight");
name = rs.getString("name");
result.add(new _Elements(_Elements.SUBAREA, id_subarea, weight, name));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Elements des Typs <b>Items</b>.
* @param subarea_id Die SubArea ID in der die Items sind
*
@Return Vector gefüllt mit _Elements des Typs <b>Items</b>
*/
public Vector getItems(int subarea_id) {
Vector<_Elements> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT items.id_item, items.weight, items.name, items.audit, items.interview " +
"FROM items, subareas " +
"WHERE subarea_id = id_subarea " +
"AND subarea_id = " + subarea_id +
" ORDER BY items.pos IS NOT NULL, items.pos ASC, items.id_item ASC";
try {
result = new Vector<_Elements>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_item, weight;
String name, audit, interview;
id_item = rs.getInt("id_item");
weight = rs.getInt("weight");
name = rs.getString("name");
audit = rs.getString("audit");
interview = rs.getString("interview");
result.add(new _Elements(_Elements.ITEM, id_item, weight, name, audit, interview));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Elements des Typs <b>Checks</b>.
* @param item_id Die Item ID in der die Checks sind
*
@Return Vector gefüllt mit _Elements des Typs <b>Checks</b>
*/
public Vector getChecks(int item_id) {
Vector<_Elements> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT checks.id_check, checks.weight, checks.name, checks.clue " +
"FROM checks, items " +
"WHERE item_id = id_item " +
"AND item_id = " + item_id +
" ORDER BY checks.pos IS NOT NULL, checks.pos ASC, checks.id_check ASC";
try {
result = new Vector<_Elements>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_check, weight;
String name, clue;
id_check = rs.getInt("id_check");
weight = rs.getInt("weight");
name = rs.getString("name");
clue = rs.getString("clue");
result.add(new _Elements(_Elements.CHECK, id_check, weight, -1, name, null, clue));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit den View-ID's der übergebenen
* Item ID.
* @param item_id Die Item ID in der die Views sind
*
@Return Vector gefüllt mit Integer. Die Views eines Items
*/
public Vector getViews(int item_id) {
Vector<Integer> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT zones.id_zone " +
"FROM zones, views, items " +
"WHERE id_zone = zone_id " +
"AND item_id = id_item " +
"AND id_item = "+item_id;
try {
result = new Vector<Integer>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_view;
id_view = rs.getInt("id_zone");
result.add(new Integer(id_view));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Elements des Typs Site
* (Zone, der Name hat sich im Laufe der Entwicklung geändert).
*
@Return Vector gefüllt mit _Elements des Typs <b>Site (Zone)</b>
*/
public Vector getZones() {
Vector<_Elements> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT zones.id_zone, zones.name " +
"FROM zones " +
"ORDER BY pos IS NOT NULL, pos ASC, id_zone ASC";
try {
result = new Vector<_Elements>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
int id_site;
String name;
id_site = rs.getInt("id_zone");
name = rs.getString("name");
result.add(new _Elements(_Elements.SITE, id_site, name));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
/**
* Liefert einen Vector gefüllt mit _Country.
*
@Return Vector gefüllt mit _Country
*/
public Vector getCountries() {
Vector<_Country> result = null;
Statement statement = null;
ResultSet rs = null;
String sql = "SELECT id_country, name " +
"FROM countries " +
"ORDER BY name ASC";
try {
result = new Vector<_Country>();
statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY,
ResultSet.CONCUR_READ_ONLY);
rs = statement.executeQuery(sql);
while (rs.next()) {
String id_country, name;
id_country = rs.getString("id_country");
name = rs.getString("name");
result.add(new _Country(id_country, name));
}
rs.close();
statement.close();
return result;
} catch (SQLException e) {
e.printStackTrace();
}
return result;
}
}
Ich wäre Euch extrem Dankbar wenn ihr mir da helfen könntet.
Mit freundlichen Grüßen
Klappi