Nawiązanie połączenia z bazą danych [JAVA]

0

Witam! Za zadnie mam utworzyć prostą bazę danych (np. Access lub MySQL, wolał bym tą pierwszą opcję), a następnie przy pomocy pakietu java.sql dodawać, usuwać, aktualizować i wyświetlać rekordy. Czy mógłby mi ktoś udzielić jakiś wskazówek jak się do tego zabrać, naczytałem się wiele rzeczy w internecie i mam już od tego wszystkiego mętlik w głowie ;p
Jak na razie wystarczyło by mi wczytać bazę i wyświetlić jej zawartość będę bardzo wdzięczny za pomoc, pozdrawiam :)

0

tworzysz bazę np. w mysql'u (z access nigdy nie miałem styczności). Ściągasz odpowiedni jdbc connector http://www.mysql.com/products/connector/ dodajesz do swojego projektu, piszesz program i gotowe:)

http://www.devdaily.com/java/edu/JDBC-SQLProcessor/Simple_JDBC_Example.shtml

0

a jaki program byłby najlepszy, żeby postawić tą bazę tymczasowo na kompie ?

0

Masz przykładowy kod. Sterownik to sun.jdbc.odbc.JdbcOdbcDriver, musisz wtedy bazę rejestrować: Panel sterowania => Narzędzia administracyjne => Źródłą danych (ODBC).

import java.sql.*;

public class CoalTotals
{
    public static void main(String[] args)
    {
        String baza="jdbc:odbc:Energia";
        Statement st=null;
        try
        {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            Connection conn=DriverManager.getConnection(baza,"","");
            st=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
            String warunek="";
            if (args.length>0)
            {
                warunek=" WHERE (Country='"+args[0]+"')";
            }
            ResultSet wynik=st.executeQuery("SELECT * FROM Coal"+warunek+" ORDER BY Year");
            System.out.println("FIPS\tPAŃSTWO\tROK\tPRODUKCJA WĘGLA");

            wynik.first();
            System.out.print(wynik.getString(1)+"=>");
            System.out.println(wynik.getString(1));

            wynik.first();
            System.out.print(wynik.getString(1)+"=>");
            System.out.println(wynik.getString(1));

            wynik.beforeFirst();
            while (wynik.next())
            {
                System.out.println(wynik.getString(1)+"\t"+wynik.getString(2)+"\t"+wynik.getString(3)+
                                   "\t"+wynik.getString(4));
            }
            while (wynik.previous())
            {
                System.out.println(wynik.getString(1)+"\t"+wynik.getString(2)+"\t"+wynik.getString(3)+
                                   "\t"+wynik.getString(4));
            }
            ResultSetMetaData meta=wynik.getMetaData();
            System.out.println(meta.getColumnCount());
            for (int i=1;i<=4;i++)
            {
                System.out.println(meta.getColumnLabel(i)+" "+meta.getColumnName(i)+" "+meta.getColumnTypeName(i));
            }
            wynik.first();
        }

        catch (SQLException e)
        {
            System.out.println("Błąd SQL: "+e+" "+e.getErrorCode()+" "+e.getSQLState());
        }
        catch (Exception e)
        {
            System.out.println("Błąd: "+e+" "+e.getMessage());
        }
        finally
        {
            try
            {
                if (st!=null)
                {
                    st.close();
                }
            }
            catch (SQLException e)
            {
                System.out.println("Błąd SQL: "+e+" "+e.getErrorCode()+" "+e.getSQLState());
            }
        }
    }
}
0

Dzięki za pomoc mam nadzieję, że w końcu coś z tym wykombinuje ;p

0

Witam! Udało się osiągnąć zamierzony efekt :) Mam jeszcze jedno pytanie, ponieważ mam do wykonania projekt. Czy baza danych ms access jest biblioteczną strukturą kontenerową ?

Mam jeszcze jedno pytanie ;p Czy problemem będzie uruchomienie projektu Eclipse z Linuxa na Windowsie ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1