Hallo Forum,
ich habe mir 2 Klassen erstellt, die den Umgang mit einem MySQL-Server erleichtern sollen.
Dann habe ich das Ganze als Jar gepackt, Docu erstellt und in meinem Projekt als Libary importiert.
geht nicht, bekomme ich immer ein
Ich habe angenommen, wenn ich das Jar mit in die Libarys packe, brauche ich es nicht mehr zu importieren.
Die Klassen:
und
THX 4 HELP
Tom
ps: Die Klassen sind noch nicht ganz fertig.
ich habe mir 2 Klassen erstellt, die den Umgang mit einem MySQL-Server erleichtern sollen.
Dann habe ich das Ganze als Jar gepackt, Docu erstellt und in meinem Projekt als Libary importiert.
Code:
public class TestMAin {
/** Creates a new instance of TestMAin */
public TestMAin() {
MySQLDBConfig msc = new MySQLDBConfig();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
}
}
geht nicht, bekomme ich immer ein
Z:\JHelpMe\src\jhelpme\TestMAin.java:20: cannot find symbol
symbol : class MySQLDBConfig
location: class jhelpme.TestMAin
MySQLDBConfig msc = new MySQLDBConfig();
Ich habe angenommen, wenn ich das Jar mit in die Libarys packe, brauche ich es nicht mehr zu importieren.
Die Klassen:
Code:
/*
* MySQLDBConfig.java
*
* Created on 16. April 2007, 08:49
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.togo.mysqldb;
/**
* Klasse zum einstellen der Zugangsdaten des MySQL-Server.
* @author cttogo
*/
public class MySQLDBConfig {
private String sDBHost = "";
private String sDBPort = "3306";
private String sUserName = "";
private String sPassWord = "";
private String sDBName = "";
/**
* Erstellt eine neue Instanz von MySQLDBConfig
*/
public MySQLDBConfig() {
}
/**
* Setzt den DatenBank Host
* @param String Die IP-Adresse des Servers
* @return true
* @return false - Wenn der String leer ist.
*/
public boolean setDBHost(String dbhost){
if(dbhost.length() > 0){
sDBHost = dbhost;
return true;
} else {
return false;
}
}
/**
* Gibt den DatenBank Host zurück
* @return String - Die IP-Adresse
*/
public String getDBHost(){
return sDBHost;
}
/**
* Setzt den Port für die Verbindung.
* Standard Port 3306 ist gesetzt.
* @param String Der Verbindungs Port
* @return true
* @return false - Wenn der String leer ist.
*/
public boolean setDBPort(String dbport){
if(dbport.length() > 0){
sDBPort = dbport;
return true;
} else {
return false;
}
}
/**
* Gibt den Port für die Verbindung zurück.
* @return String - Der Verbindungsport
*/
public String getDBPort(){
return sDBPort;
}
/**
* Setzt den Namen der Datenbank
* @param String Der Name der Datenbank
* @return true
* @return false - Wenn der String leer ist.
*/
public boolean setDBName(String dbname){
if(dbname.length() > 0){
sDBName = dbname;
return true;
} else {
return false;
}
}
/**
* Gibt den Namen der Datenbank zurück
* @return String - Den Namen der Datenbank
*/
public String getDBName(){
return sDBName;
}
/**
* Setzt den Benutzernamen für die Datenbankverbindung
* @param String Den Benutzernamen
* @return true
* @return false - Wenn der String leer ist.
*/
public boolean setUserName(String username){
if(username.length() > 0){
sUserName = username;
return true;
} else {
return false;
}
}
/**
* Gibt den Beunutzernamen zurück
* @return String - Deen Benutzernamen
*/
public String getUserName(){
return sUserName;
}
/**
* Setzt das Passwort für die Datenbankverbindung im [B]Klartext[/B]
* @param String Das Passwort für dei Datenbankverbindung
* @return true
* @return false - Wenn der String leer ist.
*/
public boolean setPassWord(String password){
if(password.length() > 0){
sPassWord = password;
return true;
} else {
return false;
}
}
/**
* Gibt das Password für die Datenbankverbindung zurück
* @return String - Das Passwort für die Datenbankverbindung
*/
public String getPassWord(){
return sPassWord;
}
}
und
Code:
/*
* MySQLDB.java
*
* Created on 16. April 2007, 08:51
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package org.togo.mysqldb;
/**
*
* @author cttogo
*/
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
* Klasse zum erstellen einer DatenBankVerbindung zu einem MySQL Server.
* Benötigt ein [B]MySQLDBConfig Objekt[/B]
*/
public class MySQLDB {
private String sQuery = "";
private String sConnectDB = "";
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
private String[] result;
private String[][] all_result;
private String sError = "";
/**
* Erstellt eine neues MySQLDB Objekt
* @param MySQLDBConfig Objekt mit den Konfigurationsdaten für die Serververbindung
*/
public MySQLDB(MySQLDBConfig mysqldbconfig) {
sConnectDB = "jdbc:mysql://" + mysqldbconfig.getDBHost() +"/" + mysqldbconfig.getDBName() + "?" +"user=" + mysqldbconfig.getUserName() + "&password=" + mysqldbconfig.getPassWord();
}
/**
* Stellt die Verbindung zum Server her
* @return boolean tue | false
* @throws ClassNotFoundException Wenn der Datenbanktreiber nicht gefunen wird
* @throws SQLException Wenn es Fehler beim Verbindungsaufbau gibt
*/
public boolean connectDB(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch(ClassNotFoundException cnfe) {
return false;
}
try {
conn = DriverManager.getConnection(sConnectDB);
return true;
} catch (SQLException sqlx) {
System.out.println("SQLException: " + sqlx.getMessage());
System.out.println("SQLState: " + sqlx.getSQLState());
System.out.println("VendorError: " + sqlx.getErrorCode());
return false;
}
}
/**
* Schließt die Datenbankverbindung
* @throws SQLException Wenn Fehler auftreten
* @return boolean true | false
*/
public boolean disconnectDB(){
if (conn != null){
try{
conn.close();
return true;
} catch(SQLException sqlx) {
System.out.print(sqlx.getMessage());
return false;
}
}
return true;
}
/**
* Führt das SQL-Query aus.
* Unterscheidet zwischen einfügenden und auslesenden Querys
* @param String Das SQL-Query z.B.("SELECT * FROM FOO)
* @throws SQLException
*/
public boolean query(String query){
if(query.toUpperCase().contains("SELECT") ){
try {
stmt = conn.createStatement();
rs = stmt.executeQuery(query);
return true;
} catch (SQLException sqlx){
return false;
}
} else {
try{
stmt = conn.createStatement();
stmt.executeUpdate(query);
stmt.close();
return true;
} catch (SQLException sqlx){
return false;
}
}
}
/**
* Gibt [B]expliziet[/B] den ersten Datensatz zurück.
* @return Array
* @throws SQLException
*/
public String[] getData(){
try{
result = new String[rs.getMetaData().getColumnCount()];
} catch(SQLException sqlx){
}
try{
if(rs.first() ){
for(int i = 0;i < rs.getMetaData().getColumnCount(); i++){
result[i] = rs.getString((i+1));
}
}
rs.close();
stmt.close();
}catch(SQLException sqlx){
System.out.println(sqlx);
}
return result;
}
/**
* Gibt alle Datensätze zurück
* @return mehrdimensionalen Array
* @throws SQLException
*/
public String[][] getDataAll(){
try{
all_result = new String[getRowCount()][rs.getMetaData().getColumnCount()];
} catch(SQLException sqlx){
}
int iIndex = 0;
try{
while(rs.next() ){
for(int i = 0;i < rs.getMetaData().getColumnCount(); i++){
all_result[iIndex][i] = rs.getString((i+1));
}
iIndex ++;
}
rs.close();
stmt.close();
}catch(SQLException sqlx){
System.out.println(sqlx);
}
return all_result;
}
/**
* Gibt die Anzahl der Datensätze zurück
* @return Integer | 0 bei Fehler
* @throws SQLException
*/
public int getRowCount(){
int iRowCount = 0;
try{
rs.last();
iRowCount = rs.getRow();
rs.beforeFirst();
}catch (SQLException sqlx){
}
return iRowCount;
}
/**
* Gibt den letzten MySQL Fehler zurück (Status + Fehlercode)
* @return String
*/
public String getLastError(){
return sError;
}
/**
* Gibt die zulezt eingefügte Index-ID zurück
* @return Interger | 0 bei Fehler
* @throws SQLException
*/
public int getLastID(){
int iLastID = 0;
try{
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT LAST_INSERT_ID()");
if (rs.next()) {
iLastID = rs.getInt(1);
}
rs.close();
stmt.close();
}catch(SQLException sqlex){
}
return iLastID;
}
}
THX 4 HELP
Tom
ps: Die Klassen sind noch nicht ganz fertig.