[JAVA newbie]Access ODBC connect

Pagina: 1
Acties:

  • aardbeix15
  • Registratie: Maart 2001
  • Niet online

aardbeix15

100%fruit pers je er niet uit!

Topicstarter
zoals de titel doet vermoeden probeer ik te connecten met een Access database me een Java applet om wat queries te draaien.

Ik weet dat het ook handiger kan maar de wens is Java.

nu heb ik deze code gemaakt d.m.v. zoekwerk en zelfstudie:
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
import java.sql.*; 

public class database_app_v3{ 
  public static void main (String[] args) { 
    String URL = "jdbc:odbc:SvC_OOP_garage"; 
    String Uname = "Jonathan"; 
    String Passwd = ""; 
    try { 
      Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver"); 
    } 
    catch (Exception e) { 
      System.out.println ("JDBC/ODBC driver kan niet worden geladen"); 
      return; 
    } 
    
    Statement opdracht = null; 
    Connection verbinding = null; 
    try { 
      verbinding = DriverManager.getConnection (URL, Uname, Passwd); 
      opdracht = verbinding.createStatement(); 
    } 
    catch (Exception e) { 
      System.err.println ("Kan geen verbinding met " + URL + " maken"); 
    } 
    try { 
      ResultSet gegevens; 
      gegevens = opdracht.executeQuery ("SELECT * FROM KLANT"); 
      String kolom1; 
      String kolom2; 
      while (gegevens.next()) { 
        kolom1= gegevens.getString ("kolom1_naam"); 
        kolom2= gegevens.getString ("kolom2_naam"); 
        System.out.println (kolom1 + kolom2); 
      } 
      verbinding.close(); 
    } 
    catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
}

nu zou je zeggen dat is geen enkel probleem, maar goed ik krijg steeds de melding:

java.lang.ClassCastConnection: appletnaam

zie ik iets heel erg basics over het hoofd ?

btw. ik heb natuurlijk wel een ODBC bron aangemaakt.
en ook mijn java opniew geinstalled omdat ik d8 dat het misschien ook daar aan zou kunnen liggen.

[ Voor 19% gewijzigd door aardbeix15 op 06-05-2003 11:14 ]

snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.


  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Welke class probeer je te draaien als een applet? De Java runtime vertelt je met een ClassCastException dat er ergens geprobeerd word om een object van het ene type in het andere om te zetten en dat dat niet lukt. De class name appletnaam kom ik in de code die je hierboven hebt gepost niet tegen.

Op welke manier roep je je applet aan?

With the light in our eyes, it's hard to see.


  • aardbeix15
  • Registratie: Maart 2001
  • Niet online

aardbeix15

100%fruit pers je er niet uit!

Topicstarter
Bobco schreef op 07 mei 2003 @ 11:50:
De class name appletnaam kom ik in de code die je hierboven hebt gepost niet tegen.

Op welke manier roep je je applet aan?
oei beetje verwarrend van mijn zijde, had ik zelf ingevuld ik bedoel met appletnaam dus gewoon 'database_app_v3' zoals ik de applet heb genoemd.

Run dit gewoon in een browser met een JVM.

snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.


  • Bobco
  • Registratie: Januari 2001
  • Laatst online: 30-10-2023

Bobco

I used to dream about Verona.

Persoonlijk doe ik nooit iets met applets, maar in de JavaDoc zie ik wel het volgende staan bij de class java.applet.Applet: "The Applet class must be the superclass of any applet that is to be embedded in a Web page or viewed by the Java Applet Viewer. The Applet class provides a standard interface between applets and their environment. "

Het lijkt me dus dat jouw database_app_v3 Applet moet extenden....

With the light in our eyes, it's hard to see.


  • [harm]
  • Registratie: September 2001
  • Laatst online: 26-02-2025
Heb niet heel veel kaas gegeten van Java, maar het volgende moet je volgens mij sowieso toevoegen aan je applet.

import java.awt.*;
import java.applet.*;


en zoals Bobco al melde :
bij je database_app_v3 extends Applet

Just when I thought I was out, THEY PULL ME BACK IN!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Dit is helemaal geen applet: je hebt een klasse met een "static void main" methode, waardoor je deze applicatie gewoon vanaf de command line aan kan roepen.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • aardbeix15
  • Registratie: Maart 2001
  • Niet online

aardbeix15

100%fruit pers je er niet uit!

Topicstarter
mbravenboer schreef op 08 May 2003 @ 09:32:
Dit is helemaal geen applet: je hebt een klasse met een "static void main" methode, waardoor je deze applicatie gewoon vanaf de command line aan kan roepen.
misschien dat ik toch wat in de war ben geraakt met geleende code. Echter et gebruik van "static void main" is volgens mij niet vreemd in het maken van applets. Of haal ik iets door elkaar :?

Wat zou er dan wel moeten staan mocht ik het als een applet willen uitvoeren :?

snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
aardbeix15: Of haal ik iets door elkaar :?
Ja, een static void main(String[] ps) methode is het entry point van een normale applicatie. Applets extenden van de klasse Applet en moeten daarbij een aantal specifieke methoden implementeren. Ik zou je echter aanraden om daarvoor eens een tutorial te raadplegen ...

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • aardbeix15
  • Registratie: Maart 2001
  • Niet online

aardbeix15

100%fruit pers je er niet uit!

Topicstarter
a ik zie het al, haal het gewoon door elkaar:

he nu deze code:
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
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.sql.*; 

public class database_app_v4 extends Applet{ 
 public database_app_v4 (String args[]){
    String URL = "jdbc:odbc:SvC_OOP_garage"; 
    String Uname = "Jonathan"; 
    String Passwd = ""; 
    try { 
      Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    } 
    catch (Exception e) { 
      System.out.println ("JDBC/ODBC driver kan niet worden geladen"); 
      return; 
    } 
    
    Statement opdracht = null; 
    Connection verbinding = null; 
    try { 
      verbinding = DriverManager.getConnection (URL, Uname, Passwd); 
      opdracht = verbinding.createStatement(); 
    } 
    catch (Exception e) { 
      System.err.println ("Kan geen verbinding met " + URL + " maken"); 
    } 
    try { 
      ResultSet gegevens; 
      gegevens = opdracht.executeQuery ("SELECT * FROM KLANT"); 
      String kolom1; 
      String kolom2; 
      while (gegevens.next()) { 
        kolom1= gegevens.getString ("kolom1_naam"); 
        kolom2= gegevens.getString ("kolom2_naam"); 
        System.out.println (kolom1 + kolom2); 
      } 
      verbinding.close(); 
    } 
    catch (Exception e) { 
      e.printStackTrace(); 
    } 
  } 
}


zou op zich moeten werken echter ik draai dit op een PC zonder MS-Acces (kan er ook niet op) maar wel met ODBC bron aan gemaakt naar de database, werkt dat :?

Anders zal ik ff w88 tot ik bij mijn andere PC kan. Kan nu ook niet heel gemakkelijk kijken of de data die ik SELECT ook daadwerkelijk aanwezig is :P

snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.

Pagina: 1