JDBC die zweite =)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JDBC die zweite =)

    Hey leute hab einpaar fragen zu jdbc:

    1. Warum muss ich am anfang wenn ich die Tabelle erstelle auf Stanalone Engine stellen , wofür steht das=????? und wofür steht server engine

    2. Was muss da hin ???? ich check das nicht....

    Quellcode

    1. import java.sql.*;
    2. class SQL{
    3. String user = "sa"; //der Benutzer
    4. String password = ""; // das passwort für den Benutzer
    5. String URL = "C:/users/duta/downloads/documents/NetBeansProjects/testdb"; // Datenbankpfad (bei jedem verschieden)
    6. String query;
    7. public void main(String args[]) {
    8. try{
    9. String driver="org.hsqldb.jdbcDriver";
    10. Class.forName(driver);
    11. Connection con = DriverManager.getConnection(user,password,URL); //Verbindung wird hergstellt mit der DB
    12. System.out.println("Connection da"); // wenn die verbindung steht wird "Connection da" ausgeben
    13. Statement stmt = con.createStatement(); // Die Schnittstelle Statement kann für alle einfachen SQL-Abfragen verwendet werden. ( SELECT,UPDATE ... )
    14. ResultSet rs = stmt.executeQuery(query); //Damit man an die Daten in der Datenbank herankommt
    15. while (rs.next()) { //schleife
    16. String vorname = rs.getString("vorname"); //dies weiss ich nicht so genau aber ich glaub es werden die einzelnen Zeichenketten in der Datenbank in die variable "String vorname;" gespeichert
    17. String nachname = rs.getString("nachname");
    18. }
    19. rs.close(); //schließen des Resultsets damit man nicht mehr an die Daten rankommt
    20. }catch(Exception ex) // und falls etwas passiert ,gebe " Connection nich da" aus
    21. {
    22. System.out.println("Connection nicht da"); }
    23. }
    24. }
    Alles anzeigen




    ER SAGT MIR NO MAIN CLASS FOUND oO WIESO ?!?!?
    villt an der url na ja steht halt nicht jdbc:.... davor...


    3. bitte helf mir =) wäre sehr dankbar
  • con = DriverManager.getConnection("jdbc:postgresql://"+host+":"+port+"/"+datenbank, "postgres", "postgres"); --------> Ich versteh das einfach nicht wann bin ich localhost und warum==????

    hab hsql db und wenn du mir den obigen satz genau erklären könntest wäreich dir sehr dankbar hab das internet durchfforstet nach ne perfekten antwort ... gibt keine..

    und wenn ich die main statisch mache dann steht da bei connection non static method can be refered bei den anderen auch .... wenn ich kein static mache dann steht da ich hätte keine main methode...
  • Die Main Methode muss statisch sein, das hat nix mit der DB zu tun. Das ist bei jedem Java Programm so.
    Aber vom statischen Kontext hast du auch nur Zugriff auf andere statische Variablen/Methoden.
    user, password, ... müssen also auch statisch sein. Oder du initialisiert ein neues Objekt.

    Quellcode

    1. class SQL {
    2. public SQL() {
    3. // verbindungsaufbau
    4. }
    5. public static void main(String args[]) {
    6. SQL db = new SQL();
    7. }
    8. }


    @Sockets: Lies dir am besten die Wiki durch: [wikipedia]Sockets[/wikipedia].
    Man greift eben nicht direkt auf die Dateien der Datenbank zu, sondern auf den Datenbankserver.
    Und mit diesem kommuniziert man über TCP.