# Frage zur Datenbankanbindung und SQL-Abfragen



## Marina (14. Jan 2007)

Hallo,
ich hab es endlich geschafft, dass meine Datenbank angebunden ist und ich kann auch mit SELECT und WHERE arbeiten. Jetzt möchte ich allerdings, dass ich auch einen Datensatz im Fenster hinzufügen oder löschen kann. Ein INSERT INTO Befehl klappt nicht. Ich hab ihn so wie meinen SELECT Befehl aufgebaut... Kann mir bitte jemand helfen!!! Hier ein kleiner Code-Fetzen um den Select Befehl herum.

Danke schonmal!


```
String url ="jdbc:odbc:versuch";
			Connection con = DriverManager.getConnection(url);
			Statement stmt=con.createStatement();
			
			String sql="SELECT Name, Vorname, Abteilung FROM Mitarbeiter";
			ResultSet rst =stmt.executeQuery(sql);
			
			
			while (rst.next())
			{
				list1.add(rst.getString("Name"));
				list2.add(rst.getString("Vorname"));
				list3.add(rst.getString("Abteilung"));
			}
			rst.close();
			stmt.close();
			con.close();
		}
		catch (Exception ex)
		{
			System.out.println(ex.toString());
			System.exit(1);
		}
	}
```


----------



## SlaterB (14. Jan 2007)

was meinst du wieviele JDBC-Tutorials es auf der Welt gibt? 

wenn etwas dort nicht geht/ nicht zu verstehen ist, dann kann man diskutieren,
aber diese zu ignorieren, es selber zu versuchen und dann andere zu nerven,
nene, so nicht 

http://www.galileocomputing.de/openbook/javainsel6/


----------



## Marina (15. Jan 2007)

Was meinst du, wie viel ich schon gelesen hab.  Ich bin blutiger Anfänger. Andere haben schon bei wesentlich weniger Ansatz Hilfe bekommen... 
Na dann werd ich lesen und lesen und lesen...


----------



## DaKo (16. Jan 2007)

1. Das ist *keine* Problembeschreibung


> Ein INSERT INTO Befehl klappt nicht



Was klappt nicht? Kommt eine Exception? Wenn ja, welche?

2. Es fehlt Beispielcode

Der von dir gepostete Code enthält kein INSERT-Statement


----------



## Marina (16. Jan 2007)

Ok, hier ist ein Versuch mit einem Update Befehl. Das lässt sich aber leider nicht compilieren. 

Hier der Code:


```
v1  = new versuch(); 
      	v1.setLayout(new GridLayout(1, 2)); 
      	List list1 = new List(); 
      	List list2 = new List();
                v1.add(list1); 
                v1.add(list2); 
                v1.setSize(400, 400); 
                v1.addWindowListener(v1); 
                v1.setVisible(true); 

      String url = "jdbc:odbc:versuchprojekt"; 
      Connection con = DriverManager.getConnection(url); 

      Statement stmt = con.createStatement(); 
      String sql = "UPDATE Mitarbeiter SET Name ='Mueller' WHERE Name LIKE 'Gramer' "; 
      ResultSet rst = stmt.executeUpdate(sql); 

      while (rst.next()) 
      { 
        list1.add(rst.getString("Name")); 
        list2.add(rst.getString("Vorname")); 
      } 

      rst.close(); 
      stmt.close(); 
      con.close(); 
    } 
    catch (Exception ex) 
    { 
      System.out.println(ex.toString()); 
      System.exit(1); 
    } 
  }
```

Die Fehlermeldung kommt für die Zeile 16. 
Ich weiß, dass bei diesem Befehl nichts im Fenster ausgegeben werden würde, aber in der Datenbank müsste sich ja etwas ändern!!!

Danke für eventuelle Antworten!!!


----------



## DaKo (16. Jan 2007)

> Die Fehlermeldung kommt für die Zeile 16.



Welche Fehlermeldung?


----------



## Marina (16. Jan 2007)

incompatible types


----------



## Caffè Latte (16. Jan 2007)

Hi,

ein executeUpdate liefert keinen ResultSet zurück sondern ein Int mit der Anzahl der geänderten Datensätze.


----------



## SlaterB (16. Jan 2007)

wenn man einfach nur im Buch nachlesen würde,
alles unmissverständlich erklärt..

http://www.galileocomputing.de/open...20_008.htm#mjb313f637019c957a48998af732ccf065

ok, bisschen kurz, wenn man die vorherige (ungemein wertvolle!!) Einführung überspringt,  aber zumindest steht da ein korrekter Beispiel und da ist ganz deutlich ResultSet NICHT zu erkennen 

einfach Bücher lesen, Bücher machen schlau


----------



## Marina (17. Jan 2007)

@ SlaterB
es gibt auch unfreundliche Leute auf der Welt, nicht jeder wird als Informatiker geboren!!! Ich muss nebenher auch noch auf mein Abi lernen...

@ Caffè Latte
Danke!!!


----------



## Marina (18. Jan 2007)

Es hat geklappt!!! Danke nochmal @ Caffè Latte, das war der entscheidende kleine Tipp. Inzwischen klappt in es eine Tabelle mit INSERT, DELETE, UPDATE zu bearbeiten und zum Schluss noch mit SELECT und alles auszugeben!!!


----------



## heyho (23. Jan 2007)

hey marina wir kriegen des auch nicht hin hilf uns mal


----------

