🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2614

Re: Newbie: Aanroepen van een functie

#2614
From: Herman Timmermans
Date: Mon, 29 Mar 2004 18:38
139 lines
5769 bytes
Simonne De Ryck wrote:

> 
> "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.


Zo snel even op het eerste zicht (ik heb vanavond geen tijd):

JDBCConnection myCon = new JDBCConnection("jdbc:odbc:.........);
myCon.testLezen("Select * from MijnDB");
....
myCon.closeDatabase();


????
-- 
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
Technical Details
Message-ID: <40686d6d$0$1960$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!newsgate.cistron.nl!news2.euro.net!transit.news.xs4all.nl!skynet.be!skynet.be!louie!tjb!not-for-mail
References: <40648576$0$1999$ba620e4c@news.skynet.be> <4065139e$0$1980$ba620e4c@news.skynet.be> <406856f8$0$1356$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 10:39:43 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!newsgate.cistron.nl!news2.euro.net!transit.news.xs4all.nl!skynet.be!skynet.be!louie!tjb!not-for-mail
Message-ID: <40686d6d$0$1960$ba620e4c@news.skynet.be>
From: Herman Timmermans <timmermansdot.hermanat@skynet.be>
Subject: Re: Newbie: Aanroepen van een functie
Newsgroups: be.comp.programming
Reply-To: timmermansdot.hermanat@skynet.be
Date: Mon, 29 Mar 2004 20:38:07 +0200
References: <40648576$0$1999$ba620e4c@news.skynet.be> <4065139e$0$1980$ba620e4c@news.skynet.be> <406856f8$0$1356$ba620e4c@news.skynet.be>
Organization: ATUM BVBA
User-Agent: KNode/0.7.7
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
Lines: 139
NNTP-Posting-Host: 80.200.217.207
X-Trace: 1080585581 reader3.news.skynet.be 1960 80.200.217.207:6883
X-Complaints-To: usenet-abuse@skynet.be