JDBC/Naloga: Povpraševanje podatkov v tabeli/Rešitev

Iz MaFiRaWiki

Ta članek ali del članka je v delu. Veseli bomo, če ga boste dopolnili in popravili.

Kaj pomeni to opozorilo?

Rešitev naloge:


  1.  
  2. import java.sql.*;
  3.  
  4. public class TestJDBC4 {
  5. public static void main ( String args[] ) {
  6. try {
  7. // naložimo JDBC in ustrezen gonilnik
  8. Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();
  9. // ko smo že naložili gonilnik in ga je naš sistem zaznal, naredimo povezavo
  10. // url mora biti sestavljen iz imena pod-protokola in s parametri pod-protokola
  11. String url = "jdbc:derby://localhost:1527/DBTest";
  12. // upIme in geslo je moje uporabniško ime in geslo, katero uporabljam pri
  13. // povezavi do moje DBMS ( v mojem primeru je to povezava s programom NetBeans IDE,
  14. // kjer sem si ustvarila bazo )
  15. Connection povezava = DriverManager.getConnection(url, "klaudija", "klaudija");
  16. // izvedemo stavek
  17. Statement stavek = povezava.createStatement();
  18. // uporabimo metodo executeQuery, ki nam izpiše vse podatke, ki se nahajajo
  19. // v tabeli EVIDENCA
  20. // v tem primeru mi izpiše vse podatke v tabeli EVIDENCA
  21. ResultSet rs = stavek.executeQuery("SELECT * FROM EVIDENCA");
  22. // lahko pa povprašujemo po določenih podatkih,
  23. // npr. da nas zanimajo le osebe oz. oseba, ki se je vpisala leta 2000
  24. //ResultSet rs = stavek.executeQuery("SELECT IME, PRIIMEK FROM EVIDENCA WHERE LETO_VPISA=2000");
  25. // in tako dalje se lahko "igramo"
  26. // izpiše nam ime posameznega stolpca ( t.j. IME, PRIIMEK, VPISNA_ST, LETO_VPISA )
  27. int columns = rs.getMetaData().getColumnCount();
  28. for(int i=1; i<=columns; i++) {
  29. System.out.print(rs.getMetaData().getColumnName(i) + "\t");
  30. }
  31. System.out.println();
  32. // izpiše vsako vrstico v tabeli
  33. // da nam metoda next() ne vrne stavek false, naredimo while zanko, ki se sprehodi
  34. // po celotni tabeli in izpiše vsako vrstico
  35. while (rs.next()) {
  36. for (int ii = 1; ii <= columns; ii++) {
  37. System.out.print(rs.getString(ii)+"\t");
  38. }
  39. System.out.println();
  40. }
  41. // na koncu ne smemo pozabiti, da moramo povezave zapret
  42. // zapremo objekt ResultSet rs
  43. rs.close();
  44. // zapremo objekt Statement stavek
  45. stavek.close();
  46. // zapremo objekt Connection povezava
  47. povezava.close();
  48. }
  49. // če pride do katere napake, nam jo prestreže in javi določeno napako z opisom
  50. catch (Exception e) {
  51. System.out.println(e.getMessage());
  52. e.printStackTrace();
  53. }
  54. }
  55. }
Osebna orodja