Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

JDBC - instalacja bazy danych.

toma5z 21 Gru 2010 13:17 1297 3
  • #1 21 Gru 2010 13:17
    toma5z
    Poziom 13  

    Witajcie,
    pracuje z JDBC - skryplety.
    Chcę utworzyć pliczek, który posłuży mi do stworzenia nowej bazy danych, a w niej tabel.

    Z poziomu kodu wygląda to tak:
    install.jsp

    Code:

    <%@ page import="java.sql.*" %>
    <%@ page import="java.io.*"  %>
    <%! Connection con1 = null;   %>
    <%! Connection con2 = null;   %>
    <%! Statement st1 =   null;   %>
    <%! Statement st2 =   null;   %>
    <%

    try
    {
       Class.forName("com.mysql.jdbc.Driver").newInstance();
       
       con1 = DriverManager.getConnection("jdbc:mysql://localhost/mysql","root", "toor");
       st1 = con1.createStatement();
       st1.executeUpdate("CREATE DATABASE baza");
       out.println("Baza danych utworzona poprawnie<br>");
       st1.close();
       con1.close();
       
       con2 = DriverManager.getConnection("jdbc:mysql://localhost/baza","root", "toor");
       st2 = con2.createStatement();
       st2.executeUpdate("create table test(idt int, nazwa varchar(20))");
       out.println("Tabela danych utworzona poprawnie");
       st2.close();
       con2.close();
    }
    catch(SQLException e)
    {
       e.printStackTrace();
    }
       

    %>


    Baze danych "baza", tworzy poprawnie aczkolwiek tabeli "test" już nie.
    Rozbiłem to na st1 i st2, tak samo z con1 i con2, sadziłem ze może to być przyczyną. Jednak nie. Nie mam pojęcia, co mam w kodzie nie poprawnego. Proszę o pomoc.[/quote]

    -------zedytowałem kod na poprawne zapytanie sql - zamknąłem nawias------

    0 3
  • #2 21 Gru 2010 14:54
    directx11
    Poziom 17  

    Orłem z baz danych nie jestem, ale czy takie polecenia nie wymagają czegoś w stylu "commit" albo podobnego zatwierdzenia transakcji? No chyba, że "executeUpdate"" to robi.

    0
  • #3 21 Gru 2010 16:06
    arnoldziq
    Moderator Programowanie

    @Autor :
    Skoro kolega rozwiązał swój problem, to może się polega z nami podzieli tym rozwiązaniem ?

    0
  • #4 22 Gru 2010 16:49
    toma5z
    Poziom 13  

    arnoldziq napisał:
    @Autor :
    Skoro kolega rozwiązał swój problem, to może się polega z nami podzieli tym rozwiązaniem ?


    Aż wstyd się przyznać.

    Dałem znajomemu do weryfikacji kod...
    Okazało się że zapomniałem zamknąć nawias jak tworzyłem tabele w SQL.

    Było:
    Code:
    st2.executeUpdate("create table test(idt int, nazwa varchar(20)");


    Wystarczyło poprawić na:
    Code:
    st2.executeUpdate("create table test(idt int, nazwa varchar(20))");


    i program ruszył.

    - Męczyłem się nad tym 2 dni...

    Temat do śmietnika, przepraszam za bałagan.

    0