Hallo an alle,
ich versuche gerade bei einer Bücherdatenbank, einen bereits vorhandenen Untertitel,
mit einem weiteren zu ergänzen und verstehe nicht, wo mein fehler liegt, siehe unten
Die folgende Fehlermeldung erscheint:
Änderung der Datensätze
Untertitel vorher:
1. irgendeinbuchtitel
Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'ein neuer buchtitel'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
at jdbc.aendern(jdbc.java:36)
at jdbc.main(jdbc.java:17)
Könnt ihr mir vieleicht weiterhelfen? ich komme nicht auf den fehler. vielen vielen dank im voraus!!!
grüße planlos
ich versuche gerade bei einer Bücherdatenbank, einen bereits vorhandenen Untertitel,
mit einem weiteren zu ergänzen und verstehe nicht, wo mein fehler liegt, siehe unten
Code:
import java.sql.*;
class jdbc {
static Connection con;// con= Verbindung zum Server
static DatabaseMetaData dmd;
static Statement stmt;//Statement für SQL-Abfrage
public static void main (String[] args)throws Exception {
Class.forName("com.mysql.jdbc.Driver").newInstance(); //MyConnector/J 3.1
con = DriverManager.getConnection//lass ich jetzt natürlich aus
dmd = con.getMetaData();
System.out.println("Änderung Datensatz");
aendern("irgendeinbuchtitel","ein neuer buchtitel");
}
public static void aendern(String untertitelalt, String untertitelneu)throws Exception{
ResultSet rs;
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT buecher.untertitel, buecher.titel FROM buecher WHERE buecher.untertitel= '"+untertitelalt+"'");
System.out.println("Untertitel vorher:");
rs.beforeFirst();
while(rs.next()){
System.out.print(rs.getString("titel"));
System.out.println(rs.getString("untertitel")+" ");
}
int upd = stmt.executeUpdate("UPDATE buecher set untertitel = untertitel + '"+untertitelneu+"' WHERE untertitel ='"+untertitelalt+"'");
System.out.println("Untertitel danach:")
rs.beforeFirst();
while (rs.next()) {
System.out.print(rs.getString("titel")+" ");
System.out.println(rs.getString("untertitel"));
}
rs.close();
}
}
Die folgende Fehlermeldung erscheint:
Änderung der Datensätze
Untertitel vorher:
1. irgendeinbuchtitel
Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Truncated incorrect DOUBLE value: 'ein neuer buchtitel'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3489)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
at jdbc.aendern(jdbc.java:36)
at jdbc.main(jdbc.java:17)
Könnt ihr mir vieleicht weiterhelfen? ich komme nicht auf den fehler. vielen vielen dank im voraus!!!
grüße planlos