Article View: be.comp.programming
Article #2612Re: Newbie: Aanroepen van een functie
From: Simonne De Ryck
Date: Mon, 29 Mar 2004 17:03
Date: Mon, 29 Mar 2004 17:03
118 lines
5132 bytes
5132 bytes
"Herman Timmermans" <timmermansdot.hermanat@skynet.be> schreef in bericht
news:4065139e$0$1980$ba620e4c@news.skynet.be...
> Simonne De Ryck wrote:
>
> > Hallo,
> >
> > Ik heb een klasse die verbinding maakt met een database. Binnen deze
> > klasse lukt het mij om gegevens te lezen in de database en deze
verbinding
> > terug te sluiten.
> >
> > Nu zou ik graag vanuit een andere klasse waarin ik gegevens uit de
> > database
> > moet halen gebruik maken van deze klasse. In deze klasse is alles
public
> > en toch lukt het mij niet.
> > Het enige wat mij wel lukt is om gebruik te maken van de functie die
> > verbinding maakt met de database. Maar om records te lezen via een sql
en
> > het sluiten van de connectie op het einde van de app. lukt mij niet.
> >
> > De functie voor het sluiten van de connectie roep ik als volgt aan:
> > closeDatabase();
> >
> > Alvast bedankt & groetjes
> *************************************************************
> Misschien toch beter om je code en de foutmelding die je krijgt te
posten??
> Als ik het goed begrijp heb je een instance van de klasse die je database
> opent, leest/update en sluit. Je hebt dan een instance van een andere
> klasse die bepaalde gegevens uit die database benodigt en je wil uiteraard
> gebruik maken van de methoden die je in je database object ter beschikking
> hebt? Kan je ons eens vertellen hoe deze twee objecten met elkaar praten?
> Kan je ons wat meer info ivm dit geven?
> Mvg, Herman
> --
> Suse Linux Professional 8.1 on Athlon 1.1 Ghz 512 Mb
> Anti Spam = remove the "dot" and the "at"
> Registered Linux User #264690
> Visit us : http://users.skynet.be/herman.timmermans
Dit is de klasse die ik gebruik om verbinding te maken met de database:
import java.util.Enumeration;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
public class JDBCConnection {
public Connection con;
public JOptionPane InfoScreen;
public Statement stmt;
public ResultSet rs;
public JDBCConnection(String dbServer, String user, String password) {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("JDBC Driver was Loaded correctly");
}
catch (Exception E) {
System.err.println("Unable to load driver.");
E.printStackTrace();
}
try {
con = DriverManager.getConnection(dbServer,"","");
System.out.println("Connected to the User Access DB.");
}
catch (SQLException E) {
System.out.println("SQLException: " + E.getMessage());
System.out.println("SQLState: " + E.getSQLState());
System.out.println("VendorError: " + E.getErrorCode());
}
}
public void closeDatabase() {
try {
rs.close();
stmt.close();
con.close();
InfoScreen.showMessageDialog(null, "Het sluiten van de
connectie is gelukt", "Information...", JOptionPane.INFORMATION_MESSAGE);
}
catch(SQLException sqlex)
{
InfoScreen.showMessageDialog(null, "Het sluiten van de connectie
is mislukt", "Information...", JOptionPane.INFORMATION_MESSAGE);
}
}
public void testLezen(String Sql){
try {
DatabaseMetaData dma = con.getMetaData();
stmt = con.createStatement();
rs = stmt.executeQuery(Sql);
}
catch (java.lang.Exception ex) {
ex.printStackTrace ();
}
}
}
Als ik aan de hand van het volgende statement de connectie wil maken dan
lukt dit:
new JDBCConnection("jdbc:odbc:Database", "", "");
Maar om records op te halen of deze connectie te sluiten dat lukt mij niet
van in een andere klasse.
Om deze te sluiten moet ik dan niet gewoon het volgende gebruiken:
closeDatabase();
Al de functies en de klasse zijn toch public.
Alvast bedankt.
Technical Details
Message-ID:
<406856f8$0$1356$ba620e4c@news.skynet.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!newsfeed.kabelfoon.nl!195.129.110.21.MISMATCH!bnewsfeed00.bru.ops.eu.uu.net!bnewsinpeer01.bru.ops.eu.uu.net!emea.uu.net!skynet.be!skynet.be!louie!tjb!not-for-mailReferences:
<40648576$0$1999$ba620e4c@news.skynet.be> <4065139e$0$1980$ba620e4c@news.skynet.be>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,553d22936774e48b X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2004-03-29 09:03:54 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!newsfeed.kabelfoon.nl!195.129.110.21.MISMATCH!bnewsfeed00.bru.ops.eu.uu.net!bnewsinpeer01.bru.ops.eu.uu.net!emea.uu.net!skynet.be!skynet.be!louie!tjb!not-for-mail From: "Simonne De Ryck" <simonne.deryck@skynet.be> Newsgroups: be.comp.programming References: <40648576$0$1999$ba620e4c@news.skynet.be> <4065139e$0$1980$ba620e4c@news.skynet.be> Subject: Re: Newbie: Aanroepen van een functie Date: Mon, 29 Mar 2004 19:03:49 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Lines: 120 Message-ID: <406856f8$0$1356$ba620e4c@news.skynet.be> Organization: -= Belgacom Usenet Service =- NNTP-Posting-Host: 80.200.94.51 X-Trace: 1080579832 reader0.news.skynet.be 1356 80.200.94.51:1241 X-Complaints-To: usenet-abuse@skynet.be