jtoolbox
Class DB_Access

java.lang.Object
  extended by jtoolbox.DB_Access

public class DB_Access
extends java.lang.Object

Zugriff auf eine Acess-Datenbank

* conOeffnen erzeugt eine Verbindung zu einer MySQL-Datenbank. * conClose schliesst die Verbindung zur Datenbank * conAbfrage startet eine SQL-Abfrage. conAbfrage speichert das Ergebnis der letzten Abfrage in einem ResultSet. * conExecute startet eine SQL-Aktionen ohne Resultset wie Create, Update, Insert * conInsertAutoIncrement ist fuer ein Insert gedacht, das einen Datensatz mit AutoIncrementFeld an erster Stelle erzeugt. Rueckgabewert ist der AutoIncrementwert. (Bei Problemen sieh MySQL-Connector-Dokumentation) Nach einem Select-Statement steht der Cursor des ResultSetz VOR dem ersten Datensatz. Eine Select-Statement liefert immer einen Result-Set. Zugriff erfolgt durch die getXXX-Methoden der Klasse. Diese Klasse kapselt viele get-Methoden des ResultSets. Dabei werden im Fehlerfall Fehlermeldungen ignoriert. Damit wird erreicht, dass auch mit Anfaengern in Java, die aber bereits im letzten Jahr Datenbank/SQL-Erfahrungen gesammelt haben, mit Datenbankanwendungen gearbeitet werden kann. Die Datenbank wird mit SQL-Anweisungen wie Create / Select / Insert / Update bearbeitet Soll direkt auf den ResultSet zugegriffen werden, so findet man den letzten ResultSet als Attribut res der Klasse. Diese Methoden des ResutSet erwarten immer eine Kapselung mit try/catch. * Fuer Transaktionen: Vor Transaktion-Steuerung mit AutoCommit(false) das automatische Commit nach jeder Aktion ausschalten. AutoCommit wieder einschalten! public void AutoCommit(Boolean ON ) public void Commit() public void Rollback() Benoetigt: MySQL Connector/J (http://dev.mysql.com/downloads/connector/j/) Das Jar-Archiv muss nach dem Entpacken dem Classpath hinzugefuegt werden. Hilfreiche Quelle: Java ist eine Insel von Christian Ullenboom http://openbook.galileocomputing.de/javainsel8/ 8.aktualisierte Auflage Kapitel 23

Version:
1.00 01.06.2009

Field Summary
 java.sql.Connection db
           
 java.sql.ResultSet res
           
 
Constructor Summary
DB_Access(java.lang.String datenbank, java.lang.String user, java.lang.String kennwort)
           
 
Method Summary
 boolean absolute(int row)
          Bewegt den Cursor an eine bestimmte Zeile im Resutset
 int anzahlDatensaetze()
          Anzahl im Resultset
 void AutoCommit(java.lang.Boolean ON)
           
 void beforeFirst()
           
 void Commit()
           
 void conAbfrage(java.lang.String queryStr)
          Abfrage mit SQL-String
 boolean conClose()
          Schliessen der Datenbank
 boolean conExecute(java.lang.String updStr)
          Upadate/Create/.. ohne Resultset mit SQL-String
 int conInsertAutoIncrement(java.lang.String updStr)
          Fuer Insert, wenn erstes Attribut Autoincrementwert
 java.sql.Connection conOeffnen(java.lang.String datenbank, java.lang.String user, java.lang.String kennwort)
          oeffnen der Datenbank
 boolean getBoolean(int columnIndex)
           
 boolean getBoolean(java.lang.String columnLabel)
           
 java.lang.String getDate(int columnIndex)
           
 java.lang.String getDate(java.lang.String columnLabel)
           
 double getDouble(int columnIndex)
           
 double getDouble(java.lang.String columnLabel)
           
 float getFloat(int columnIndex)
           
 java.lang.Float getFloat(java.lang.String columnLabel)
           
 int getInt(int columnIndex)
           
 int getInt(java.lang.String columnLabel)
           
 long getLong(int columnIndex)
           
 long getLong(java.lang.String columnLabel)
           
 int getRow()
          Liefert aktuelle Zeilennummer
 java.lang.String getString(int columnIndex)
           
 java.lang.String getString(java.lang.String columnLabel)
           
 java.lang.String getTime(int columnIndex)
           
 java.lang.String getTime(java.lang.String columnLabel)
           
 java.lang.String getTimestamp(int columnIndex)
           
 java.lang.String getTimestamp(java.lang.String columnLabel)
           
 boolean isClosed()
           
 boolean istNachLetztemDatensatz()
           
 boolean istVorErstemDatensatz()
           
 boolean neuerDatensatz()
          Schaltet auf einen neuen Datensatz Beachten: nach der Abfrage steht der Cursor der Datenbank VOR dem ersten Datensatz
 void Rollback()
           
 boolean warNull()
          Zeigt, ob bei der letzten Leseaktion ein SQL-Null-Wert gelesen wurde.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

db

public java.sql.Connection db

res

public java.sql.ResultSet res
Constructor Detail

DB_Access

public DB_Access(java.lang.String datenbank,
                 java.lang.String user,
                 java.lang.String kennwort)
Method Detail

absolute

public boolean absolute(int row)
Bewegt den Cursor an eine bestimmte Zeile im Resutset

Parameters:
row -
Returns:
existiert

anzahlDatensaetze

public int anzahlDatensaetze()
Anzahl im Resultset

Returns:
Connection

AutoCommit

public void AutoCommit(java.lang.Boolean ON)

beforeFirst

public void beforeFirst()

Commit

public void Commit()

conAbfrage

public void conAbfrage(java.lang.String queryStr)
Abfrage mit SQL-String

Parameters:
queryStr - ResultSet wird in Public-Attribut res gespeichert.

conClose

public boolean conClose()
Schliessen der Datenbank


conExecute

public boolean conExecute(java.lang.String updStr)
Upadate/Create/.. ohne Resultset mit SQL-String

Parameters:
updStr -
Returns:
erfolgreich

conInsertAutoIncrement

public int conInsertAutoIncrement(java.lang.String updStr)
Fuer Insert, wenn erstes Attribut Autoincrementwert

Parameters:
updStr -
Returns:
Autoincrementwert Fehler -> -1

conOeffnen

public java.sql.Connection conOeffnen(java.lang.String datenbank,
                                      java.lang.String user,
                                      java.lang.String kennwort)
oeffnen der Datenbank

Parameters:
datenbank -
user -
kennwort -
Returns:
Connection

getBoolean

public boolean getBoolean(int columnIndex)

getBoolean

public boolean getBoolean(java.lang.String columnLabel)

getDate

public java.lang.String getDate(int columnIndex)

getDate

public java.lang.String getDate(java.lang.String columnLabel)

getDouble

public double getDouble(int columnIndex)

getDouble

public double getDouble(java.lang.String columnLabel)

getFloat

public float getFloat(int columnIndex)

getFloat

public java.lang.Float getFloat(java.lang.String columnLabel)

getInt

public int getInt(int columnIndex)

getInt

public int getInt(java.lang.String columnLabel)

getLong

public long getLong(int columnIndex)

getLong

public long getLong(java.lang.String columnLabel)

getRow

public int getRow()
Liefert aktuelle Zeilennummer

Returns:
Fehler -> -1

getString

public java.lang.String getString(int columnIndex)

getString

public java.lang.String getString(java.lang.String columnLabel)

getTime

public java.lang.String getTime(int columnIndex)

getTime

public java.lang.String getTime(java.lang.String columnLabel)

getTimestamp

public java.lang.String getTimestamp(int columnIndex)

getTimestamp

public java.lang.String getTimestamp(java.lang.String columnLabel)

isClosed

public boolean isClosed()

istNachLetztemDatensatz

public boolean istNachLetztemDatensatz()

istVorErstemDatensatz

public boolean istVorErstemDatensatz()

neuerDatensatz

public boolean neuerDatensatz()
Schaltet auf einen neuen Datensatz Beachten: nach der Abfrage steht der Cursor der Datenbank VOR dem ersten Datensatz

Returns:
es gibt einen neuen Datensatz

Rollback

public void Rollback()

warNull

public boolean warNull()
Zeigt, ob bei der letzten Leseaktion ein SQL-Null-Wert gelesen wurde.

Returns:
warNull