carookee - group communication for you
Home / JavaForum / JDBC
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
4.820 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 98 von 277 (35%) |<   <   >   >|

Autor Dirk
Datum 13.01.03, 12:27
Betreff Re: Datenbanken und Applets - geht das?


Hi,

Kann ich mit meinem Applet auf Datenbanken auf dem gleichen Server zugreifen?

Ja man kann mit einem Applet auf eine Datenbank zugreifen, wenn das Applet und die DB auf einen Server liegen.
Ich habe es mit einer MySQL-DB realisieren können. Die Anbindung erfolgt mit einem JDBC-Treiber für MySQL.
Den Treiber dazu findest Du unter: http://www.mysql.com/downloads/api-jdbc.html
Diese Zip-Datei entpackst Du und importierst in Dein Java-Projekt die jar-Datei.

Ein Beispiel-Quellcode sieht so aus:

import java.applet.Applet;
import java.awt.Graphics;
import java.util.Vector;
import java.sql.*;

public class lokal_applet2 extends Applet implements Runnable {
    private Thread worker;
    private Vector queryResults;
    private String message = "Initializing";
    
    public synchronized void start() {
        // Every time "start" is called we create a worker thread to re-evaluate the database query.
        if (worker == null) {
            message = "Connecting to database";
            worker = new Thread(this);
            worker.start();
        }
    }
    
    public void run() {
        String url = "jdbc:mysql://localhost:3306/javatest";
        String query = "select * from mitarbeiter";
        
        try {
            Class.forName("org.gjt.mm.mysql.Driver");
            } catch(Exception ex) {
            setError("Can't find Database driver class: " + ex);
            return;
        }
        
        try {
            Vector results = new Vector();
            Connection con = (Connection)
            DriverManager.getConnection(url,"", "");
            Statement stmt = (Statement) con.createStatement();
            ResultSet rs = (ResultSet) stmt.executeQuery(query);
            while (rs.next()) {
                String s = rs.getString("name");
                String s1 = rs.getString("vorname");
                String text = s + " " + s1;
                results.addElement(text);
            }
            
            stmt.close();
            con.close();
            
            setResults(results);
            
            } catch(SQLException ex) {
            setError("SQLException: " + ex);
        }
    }
    
    public synchronized void paint(Graphics g) {
        if (queryResults == null) {
            g.drawString(message, 5, 50);
            return;
        }
        g.drawString("Name: ", 5, 10);
        int y = 30;
        java.util.Enumeration enum = queryResults.elements();
        while (enum.hasMoreElements()) {
            String text = (String)enum.nextElement();
            g.drawString(text, 5, y);
            y = y + 15;
        }
    }
    
    private synchronized void setError(String mess) {
        queryResults = null;
        message = mess;
        worker = null;
        repaint();
    }
    
    private synchronized void setResults(Vector results) {
        queryResults = results;
        worker = null;
        repaint();
    }
}


Die Datenbank liegt jetzt auf den dem gleichen Server und muss vorher natürlich eingerichtet sein.

Mich würde aber noch interessieren, ob es möglich ist mit einem Applet von einem Server Daten von einem MySQL-Server zu holen.
Ich möchte nicht erst auf dem MySQL-Server eine Applikation laufen lassen, die ständig Daten an das Applet schickt. Es muß doch auch direkt gehen, zumindest mit den neuen Treibern Typ 4.

Ok, ich hoffe ich konnte Dir helfen.

Tschau


Diskussionsverlauf:
Datenbanken und Applets - geht das?
    Re: Datenbanken und Applets - geht das?

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com