[Java] -> Acces database gegevens opvragen

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

  • sus
  • Registratie: September 2000
  • Laatst online: 23:51

sus

is druk :+

Topicstarter
Ik zit helemaal vast. Ik moet een programma schrijven, waarmee ik gegevens kan opslaan en opvragen in een Acces database.

Nu werkt het opslaan van de gegevens perfect, dat is geen enkel probleem. Ook het opvragen van de gegevens is *op zich* geen probleem. MAAR:

De sql-query die ik invoer met JBuilder (en dan via JBCL:ODBC) werkt goed, heb ik getest met Acces zelf. Maar, hoe krijg ik de opgevraagde waarde in een string, zodat ik die kan laten zien in een tekst-vak.

Dit is mijn code:

code:
1
2
3
4
5
6
String strQuery = "select produkt_ID from produkt where produkt_naam = " +invoer_kolom1+ "and omschrijving = " +invoer_kolom2;

Statement stmt = dbConnection.createStatement();

//execute query
stmt.executeUpdate(strQuery);


Ik weet dat de variabele's niet duidelijk zijn, maar ik werk verder op een ander zijn werk. Moet hier dus nu wel mee werken :/

Maar goed, wat moet ik doen om de opgevraagde gegevens in een string te krijgen. Om de string naar een tekstvak te krijgen is ook geen probleem.

Ik hoop dat jullie me kunnen helpen, ik moet het programma morgen laten zien, en dan moet het werken.

Ik loop hier al een paar weken mee rond, heb met google gezocht, search hierzo en bij java.sun.com op het forum. Ik kom er gewoon niet uit.

edit:

Alt-S te vroeg

[ Voor 9% gewijzigd door sus op 12-06-2003 21:08 ]


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 21-08 19:22
Neem eens een kijkje op http://java.sun.com/products/jdbc/learning.html dan kom je erachter dat het zo ongeveer moet:

code:
1
2
3
4
5
6
7
8
String s;
String query = "SELECT COF_NAME, PRICE FROM COFFEES";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
    s = rs.getString("COF_NAME");
    float n = rs.getFloat("PRICE");
    System.out.println(s + "   " + n);
}


En die string s kun je weer gebruiken om in een label te zetten.

[ Voor 30% gewijzigd door Sybr_E-N op 12-06-2003 21:17 ]


Verwijderd

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
import java.io.PrintStream;
import java.sql.*;
import java.util.Properties;
import sun.jdbc.odbc.JdbcOdbcDriver;

public class VerbindDatabase
{

    public boolean verbind(String dsn)
    {
        Driver driver = new JdbcOdbcDriver();
        Properties info = new Properties();
        String url = "jdbc:odbc:" + dsn;
        try
        {
            con = driver.connect(url, info);
        }
        catch(SQLException sqlex)
        {
            System.out.println(sqlex.toString());
        }
        if(con != null)
        {
            try
            {
                stmt = con.createStatement();
            }
            catch(SQLException sqlex)
            {
                System.out.println(sqlex.toString());
            }
            return true;
        } else
        {
            return false;
        }
    }

    public String select(String selectQuerie)
    {
        String str = "";
        if(stmt != null)
            try
            {
                ResultSet res = stmt.executeQuery(selectQuerie);
                ResultSetMetaData md = res.getMetaData();
                for(int kolnr = 1; kolnr < md.getColumnCount(); kolnr++)
                    str = str + md.getColumnName(kolnr) + " ";

                for(str = str + "#"; res.next(); str = str + "#")
                {
                    for(int kolnr = 1; kolnr <= md.getColumnCount(); kolnr++)
                    {
                        Object obj = res.getObject(kolnr);
                        str = str + obj + " ";
                    }

                }

            }
            catch(SQLException sqlex)
            {
                System.out.println(sqlex.toString());
            }
        return str;
    }

    public int update(String updateQuerie)
    {
        int res = 0;
        if(stmt != null)
            try
            {
                res = stmt.executeUpdate(updateQuerie);
            }
            catch(SQLException sqlex)
            {
                System.out.println(sqlex.toString());
            }
        return res;
    }

    public VerbindDatabase()
    {
    }

    private Connection con;
    private Statement stmt;
}


Have fun :)

BTW gebruik wel een stringtokenizer

[ Voor 3% gewijzigd door Verwijderd op 12-06-2003 21:18 ]


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
huh? Wat is daar nou aan man? geloof geen barst dat je hebt gegoogled.

Java:
1
2
3
4
5
6
7
8
9
Statement mStatement = mConnection.createStatement(); 
ResultSet mResultSet = mStatement.executeQuery(aSQLQuery); //dus geen UPDATE gedoe met SELECT
while (mResultSet.next())
{
    for (int i = 1; i <= tColumns; i++) //start from 1 oh boy
    {
        tString = aResultSet.getString(i);
    }
}


code is niet compleet maar dan weet je waar je F1 (dat is help) moet op drukken...

  • sus
  • Registratie: September 2000
  • Laatst online: 23:51

sus

is druk :+

Topicstarter
edit:
voortaan eerst ff F5-en...


maar google heb ik wel gedaan, kom er gewoon niet uit.

[ Voor 96% gewijzigd door sus op 12-06-2003 21:32 ]


  • sus
  • Registratie: September 2000
  • Laatst online: 23:51

sus

is druk :+

Topicstarter
hobbit_be schreef op 12 June 2003 @ 21:18:
huh? Wat is daar nou aan man? geloof geen barst dat je hebt gegoogled.

Java:
1
2
3
4
5
6
7
8
9
Statement mStatement = mConnection.createStatement(); 
ResultSet mResultSet = mStatement.executeQuery(aSQLQuery); //dus geen UPDATE gedoe met SELECT
while (mResultSet.next())
{
    for (int i = 1; i <= tColumns; i++) //start from 1 oh boy
    {
        tString = aResultSet.getString(i);
    }
}


code is niet compleet maar dan weet je waar je F1 (dat is help) moet op drukken...
door o.a. deze code te gebruiken als begin-punt heb ik hem nu aan de gang. Ben er eindelijk uit. TNX!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Volgende keer misschien woorden invullen in het zoek scherm en dan op "SUBMIT" drukken, of beter leren zoeken.

Zoals hobbit al zei, als je op F1 had gedrukt in JBuilder (jawel, die knop bestaat ook en bevat heel veel informatie, soms zelfs nuttige informatie!) had je het ook in de help kunnen vinden hoe je een met een database om kan gaan.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.