D
DBFrager77
Gast
Guten Tag liebes Forum,
Frage 1:
Weshalb kann die Methode nicht auf die return-Anweisung zugreifen?
Ohne Try/Catch-Block funktioniert es ohne Probleme.
Fehlermeldung: This method must return a result of type Connection
Meine zweite Frage bezieht sich auf den ausführenden Teil meines Programms:
Die Ausgabe ergibt
------------------------------------
ResultSet MetaData column Count = 4
------------------------------------
1 Paul 85221
2 Gamby 80089
3 Bambi 1294
4 Peter 85909
5 Richard 54890
6 Peter 85909
7 Richard 54890
8 Peter 85909
9 Richard 54890
10 Peter 85909
11 Richard 54890
12 Peter 85909
13 Richard 54890
14 Peter 85909
15 Richard 54890
16 Peter 85909
17 Richard 54890
18 Peter 85909
19 Richard 54890
20 Peter 85909
21 Richard 54890
22 Peter 85909
23 Richard 54890
24 Peter 85909
25 Richard 54890
26 Peter 85909
27 Richard 54890
28 Peter 85909
29 Richard 54890
Jedes mal wenn ich die Application ausführe, werden die insert-Anweisungen nochmal ausgeführt, obwohl diese nicht in einer Schleife sind.
Kann mir jemand erklären warum das so ist und wie ich es am Besten beheben kann?
PS: Für mich ist das Gebiet JDBC ein neues Gebiet, also bitte anfängerfreundlich erklären.
PPS: Ja, die Postleitzahlen sind nicht richtig, ich bin mir dessen bewusst.
mfG
Und danke schon einmal im Voraus.
Frage 1:
Weshalb kann die Methode nicht auf die return-Anweisung zugreifen?
Ohne Try/Catch-Block funktioniert es ohne Probleme.
Java:
private static Connection getSQLConnection()
{
try{
//Driver which connects Java with SQL-Database
String driverName = "com.mysql.jdbc.Driver";
Class.forName(driverName);
//Getting Connection
String url = "jdbc:mysql://127.0.0.1:3306/Studienarbeit";
return DriverManager.getConnection(url, "root","init");
}
catch(Exception e)
{
}
}
Fehlermeldung: This method must return a result of type Connection
Meine zweite Frage bezieht sich auf den ausführenden Teil meines Programms:
Java:
public static void main(String[] args) throws Exception {
Connection con = getSQLConnection();
Statement st = con.createStatement();
st.executeUpdate("insert into person (name,plz,ort) values ('Peter','85909','Florida')");
st.executeUpdate("insert into person (name,plz,ort) values ('Richard', '54890', 'St. Value')");
//Interrogation Command for the Database
st = con.createStatement();
ResultSet rs = st.executeQuery("Select * from Person");
//Counts all columns of the Database including the new ones
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
System.out.println("------------------------------------");
System.out.println("ResultSet MetaData column Count = " + numberOfColumns);
System.out.println("------------------------------------");
//Prints the new Database
while(rs.next())
{
System.out.println(rs.getString(1) + "\t" + rs.getString(2) + "\t" + rs.getString(3));
}
//Cleaning up
rs.close();
st.close();
con.close();
}
}
Die Ausgabe ergibt
------------------------------------
ResultSet MetaData column Count = 4
------------------------------------
1 Paul 85221
2 Gamby 80089
3 Bambi 1294
4 Peter 85909
5 Richard 54890
6 Peter 85909
7 Richard 54890
8 Peter 85909
9 Richard 54890
10 Peter 85909
11 Richard 54890
12 Peter 85909
13 Richard 54890
14 Peter 85909
15 Richard 54890
16 Peter 85909
17 Richard 54890
18 Peter 85909
19 Richard 54890
20 Peter 85909
21 Richard 54890
22 Peter 85909
23 Richard 54890
24 Peter 85909
25 Richard 54890
26 Peter 85909
27 Richard 54890
28 Peter 85909
29 Richard 54890
Jedes mal wenn ich die Application ausführe, werden die insert-Anweisungen nochmal ausgeführt, obwohl diese nicht in einer Schleife sind.
Kann mir jemand erklären warum das so ist und wie ich es am Besten beheben kann?
PS: Für mich ist das Gebiet JDBC ein neues Gebiet, also bitte anfängerfreundlich erklären.
PPS: Ja, die Postleitzahlen sind nicht richtig, ich bin mir dessen bewusst.
mfG
Und danke schon einmal im Voraus.