//prosta aplikacja Javy współpracująca z Oracle'm

//zaladowanie pakietów
import java.sql.*;


public class Aplikacja
{

//wlasnosci klasy (nienazywać tego per: "zmienne")
Connection polaczenie;

String zapytanie = "select imie, nazwisko from osoby";
Statement stmt;

public void  WykonajZapytanie (String zapytanie_do_bazy)
{
    String imie, nazwisko;
    int i = 0;

    //zapytanie wykonujemy za pomocą polecenia try{}-catch{}
    //nie musze mowic dlaczego
    try
    {
      //wykonujemy zapytanie i pobieramy wynik
      //jak w JSP :)
      ResultSet rSet=stmt.executeQuery(
zapytanie_do_bazy);   //dla update bedzie: stmt.executeUpdate(zapytanie)

      //"pentelka" do wypisywania wyniku zapytania - jak w JSP
      while(rSet.next()){
 
        //pobieramy kolejne elementy zwroconego wyniku zapytania (jako String)
        // i zapisujemy do odpowiednich zmiennych
       
imie=rSet.getString(1);
        nazwisko=rSet.getString(2);
        //teraz można już wypisać na ekranie wartości pobranych elementów
        //u nas jeden rekord
        System.out.println(imie+" "+nazwisko);
       } //end od petli while
     } //end od try
      
   //gdyby cos mialo sie nie udac - przechodzimy do czesci catch
   catch (Exception e)
   {

         System.err.println("Problem z poleceniem select SQL");
         //ewentualnie mozna dodac do komunikatu: +e.getMessage()

      }
 }
 
 
 //konsturktor obiektow naszej klasy
 public Aplikacja()
 {

    //oczywiscie w try{}catch{}
    try
    {
           //zaladowanie sterownika JDBC - proszę dokładnie poczytać o sterownikach - który kiedy stosować!

           Class.forName("sterownik"); //np. oracle.jdbc.OracleDriver
    }

    //gdyby cos sie nie udalo - przechodzimy do czesci catch
    //prosze zauwazyc, jaki wyjatek obslugujemy!
    //i jak mozna go zaladowac! (bo mozna tez inaczej - na pocz. pliku)
    catch(java.lang.ClassNotFoundException e)
    {
          System.err.print("Blad: nie znaleziono....");  //no wlasnie: czego? jak to wyjasnic Pani Krysi?
    }

    //jesli powyzsze sie udalo, to idzemy dalej...
    //probujemy polaczyc sie z baza
    try
    {
         //url, uzytkownik i haslo rownie dobrze moga byc wartościami zmiennej typu String
         polaczenie = DriverManager.getConnection("tu podany url - adres bazy danych", "uzytkownik", "haslo");
         stmt = connect.createStatement();    
    }
    catch(SQLException ex)
    {
            System.err.println("Wyjatek SQL - jakis blad SQL");
    }

        
    //jak sie wszystko powyższe wykonało - to można wykonywać zapytanie do bazy danych
    System.out.println("\n\n Oto wybrane informacje: \n\n");
    WykonajZapytanie();
    System.out.println("\n KONIEC.");

    //już Pani Krysia poogladała - można kończyć pracę - jak w JSP

    try
    {

        stmt.close();
        connect.close();
    }
    catch(SQLException ex)
    {
        System.err.println("Blad programu!");
    }

}
 
//metoda main - ta najwazniejsza
public static void main(String args[])

{          
    //nowy obiekt klasy Aplikacja - wywołanie konstruktora
    new Aplikacja();

 }
}//koniec klasy