Danny787
Ensign
- Registriert
- Jan. 2007
- Beiträge
- 180
Es geht um Folgendes:
Ich versuche eine Web Applikation zu entwickeln, welche aus einer Datenbank Bücher auslesen und diese auch bewerten kann (Radiobuttons mit Werten 1-5). Die Bewertungsfunktion habe ich inzwischen implementiert, doch nun will ich noch den Durchschnittwert aller Bewertungen mittels eines SQL Befehls bestimmen und diesen als Rückgabewert definieren.
Zunächst mal den Create Befehl der Tabelle:
create table product (id int not null, author varchar(32), title varchar(256), rating int, ratingCounter int)
Die einzelnen Bewertungen (Integerwerte 1-5) werden in rating hinterlegt
Hier die Funktion, welche den Durchschnittwert ermitteln und diesen als Rückgabewert liefern soll:
public synchronized float getAverageRating(AmazonBook book){
float avgRating = 0;
try{
Statement statement = connection.createStatement();
ResultSet resultSet = statement
.executeQuery("SELECT avg(rating) FROM product WHERE title = '" + book.getTitle() + "'");
avgRating = resultSet.getFloat(1);
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return avgRating;
}
Eclipse schmeißt bei der Durchführung eine java.sql.SQLSyntaxErrorException
Kann mir vielleicht jemand sagen, was ich falsch mache?
Danke schon mal im Voraus
Ich versuche eine Web Applikation zu entwickeln, welche aus einer Datenbank Bücher auslesen und diese auch bewerten kann (Radiobuttons mit Werten 1-5). Die Bewertungsfunktion habe ich inzwischen implementiert, doch nun will ich noch den Durchschnittwert aller Bewertungen mittels eines SQL Befehls bestimmen und diesen als Rückgabewert definieren.
Zunächst mal den Create Befehl der Tabelle:
create table product (id int not null, author varchar(32), title varchar(256), rating int, ratingCounter int)
Die einzelnen Bewertungen (Integerwerte 1-5) werden in rating hinterlegt
Hier die Funktion, welche den Durchschnittwert ermitteln und diesen als Rückgabewert liefern soll:
public synchronized float getAverageRating(AmazonBook book){
float avgRating = 0;
try{
Statement statement = connection.createStatement();
ResultSet resultSet = statement
.executeQuery("SELECT avg(rating) FROM product WHERE title = '" + book.getTitle() + "'");
avgRating = resultSet.getFloat(1);
}catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return avgRating;
}
Eclipse schmeißt bei der Durchführung eine java.sql.SQLSyntaxErrorException
Kann mir vielleicht jemand sagen, was ich falsch mache?
Danke schon mal im Voraus