tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
578
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    harton harton ist offline Grünschnabel
    Registriert seit
    Apr 2007
    Beiträge
    3
    Hallo an alle

    Ich bin relativ neu in Java und für mein Studium bin ich gerade dabei ein paar Projekte auszuarbeiten. Ganz besonder interessant ist natürlich auch immer die Einbindung von Datenbanken.

    Nun habe ich betreff Java und Datenbanken eine Frage.

    Ich würde gern eine JAVA Applikation für den Desktop Rechner erstellen die sich via Internetverbindung mit der Datenbank auf meinem Server/ meiner Homepage verbindet.

    DerServer verwendet Linux und auf diesem ist MYSQL, PHPMyAdmin etc. installiert. Die Datenbank funktioniert auch zumindest wenn ich direkt über PHPMYAdmin darauf zugreife. die Große Preisfrage ist nun aber wie greife ich von meinem Desktop rechner mithilfe dieser Java Applikation auf die Datanbank zu. Wie muss ich das Java Programm erstellen, bzw. geht solch eine verbindung überhaupt? Wenn ja habt ihr Hinweise wo ich so etwas nachlesen kann. In den üblichen Hilfen finde ich immer nur beispiele für lösungen mit lokalen Datenbanken.

    Danke schon mal im Vorraus.
     

  2. #2
    axid axid ist offline Mitglied
    Registriert seit
    Sep 2003
    Beiträge
    11
    hi
    ich würd vorm posten mal den bzw im forum such button benutzen

    aber ich hab da was für dich:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    
    package pre.crt.swing;
     
    import java.sql.Connection;
    import java.sql.Date;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Calendar;
     
    import pre.crt.cal.WorkCal;
    import pre.crt.company.Company;
    import pre.crt.person.Person;
    import pre.crt.time.PersonTimeRecords;
    import pre.crt.time.TimeCalculation;
     
    public class DBaccess {
        
        private Connection con;
        private Statement stmt;
        private ResultSet rSet;
        private PersonTimeRecords   userTable;
        private Person pers;
     
        public DBaccess(PersonTimeRecords ptr)throws CrtException
        {
            userTable = ptr;
            
            try
            {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                openConnection();
                
            }
            catch (ClassNotFoundException e) {
                System.out.println("Fehler bei Verbindung - "+ e);
                return;
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        private void openConnection() {
            try {
                con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=michi");
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
        private void closeConnection () {
            try {
                con.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
        private ResultSet getResultFromQuery( String query ) {
            ResultSet rs = null;
            
            try {
                if(con.isClosed() || con ==null)
                    openConnection();
                
                stmt = con.createStatement();
            
                System.out.println(query);
                rs = stmt.executeQuery(query);
                
                //stmt.close();
                //closeConnection();
                
            } catch (SQLException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            return rs;
        }
        private int getLastRowFromResult( ResultSet rs, int additionalRowCounts ) throws SQLException {
            rs.last();
            int rw = rs.getRow() + additionalRowCounts;
            rs.beforeFirst();
            return rw;
        }
        private String[][] getNewErgebnis( ResultSet rs, int additionalRows, int col ) throws SQLException {
            return getNewErgebnis(getLastRowFromResult(rs, additionalRows), col);
     
        }
        private String[][] getNewErgebnis( int row, int col ) throws SQLException {     
            return new String[row][col];
        }
        
        public String[][] datenJtableAngestellter(String benutzer)throws CrtException
        {
            String[][] ergebnis;
            
            try
            {
                
                String sqlQuery = "select tt_p_persNr, tt_date , tt_timestart, tt_timeend, tt_tk_key" +
                        "  from timetable  where tt_p_persNr = '"+benutzer+"' ORDER BY tt_date ASC;";
                        //DATE_FORMAT(tt_date, '%c' ) = "+(Calendar.getInstance().get(Calendar.MONTH)+1)+" and 
                
                rSet = getResultFromQuery(sqlQuery);
                
                ergebnis = getNewErgebnis( rSet, 0, 6 );
                
                int i = 0;
                while(rSet.next())
                {
                    ergebnis[i][0]=(rSet.getString("tt_p_persNr"));
                    ergebnis[i][1]=(rSet.getString("tt_date"));
                    ergebnis[i][2]=(""+TimeCalculation.getIsWorkingTime(rSet.getLong("tt_timestart")));
                    ergebnis[i][3]=(""+TimeCalculation.getIsWorkingTime(rSet.getLong("tt_timeend")));
                    
                    String hours = (""+(TimeCalculation.getIsWorkingTime_AsFloat(rSet.getLong("tt_timeend"))
                            -TimeCalculation.getIsWorkingTime_AsFloat(rSet.getLong("tt_timestart"))));
                    
                    ergebnis[i][4]=hours.substring(0, hours.indexOf(".")+2);
                    ergebnis[i][5]=(rSet.getString("tt_tk_key"));
                    
                    try {
                    } catch (NullPointerException e2) {
                        System.out.println("Fehler DBaccess datenJtable " + e2.getMessage());
                    }
                    
                    i++;
                }
            }
            catch (SQLException e) {
                System.out.println("Fehler bei Tabellenabfrage");
                System.out.println( e );
                throw new CrtException("ERROR: Fehler "+e);
            }
            return ergebnis;
        }
     

  3. #3
    harton harton ist offline Grünschnabel
    Registriert seit
    Apr 2007
    Beiträge
    3
    Hallo axid,

    Erst mal ein Biiiiiiig thanks für deine Hilfe.
    Ich werde mal versuchen die ganze Sache mit Hilfe deines Codes zu verstehen.

    Hatte schon gegoogelt darüber auch dieses Forum gefunden
    Noch ne Frage zu den DB drivern ... muss der auf meinem Lokalen PC installiert sein?

    Gruß
    tony
     

  4. #4
    harton harton ist offline Grünschnabel
    Registriert seit
    Apr 2007
    Beiträge
    3
    @ axid

    zeile:
    con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=michi");
    }

    --> dies ist ja localhost ?

    Muss das nicht die URL des servers im internet sein zb.mydomain.com



    con = DriverManager.getConnection("jdbc:mysql://mydomain.com/test?user=root&password=michi");
    }


    Danke schon mal im vorraus
     

  5. #5
    axid axid ist offline Mitglied
    Registriert seit
    Sep 2003
    Beiträge
    11
    Zitat Zitat von harton Beitrag anzeigen
    @ axid

    zeile:
    con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=michi");
    }

    --> dies ist ja localhost ?

    Muss das nicht die URL des servers im internet sein zb.mydomain.com



    con = DriverManager.getConnection("jdbc:mysql://mydomain.com/test?user=root&password=michi");
    }


    Danke schon mal im vorraus
    jo richtig
     

Ähnliche Themen

  1. HashMap<> in MySQL database speichern
    Von thedaystar im Forum Java
    Antworten: 2
    Letzter Beitrag: 01.06.10, 02:21
  2. Antworten: 4
    Letzter Beitrag: 17.03.10, 17:02
  3. Frage zu Java Web Start und Java Application
    Von JuLaw im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 06.02.08, 11:16
  4. (Java) Database Vs. ORM Benchmark
    Von Thomas Darimont im Forum Java Technology News
    Antworten: 0
    Letzter Beitrag: 10.10.06, 20:21
  5. Mysql Database error!
    Von freiermarc im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 06.09.06, 09:35