Mijn PROBLEEM: Als ik wil inserten in een database, krijg ik de volgende foutmelding:
Database error: Vestiging toevoegen mislukt (dit is zelf geschreven tekst)
SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]String or binary data would be truncated.
mijn VRAAG: Iemand een idee wat het betekent, en wat ik moet doen om het te fixen? Ben al tijdje mee aan het prutsen geweest, maar hij wil nie echt!
Ik weet dat men graag code wil zien, maar aangezien er verschillende klasses zijn, zou dit een enorme lap tekst aan code opleveren! Persoonlijk dnek ik dat in het volgende stukje code een fout zou zitten, maar dat weet ik niet zeker!
OK, sorry wastweer te vlug met klikken, was vergeten de opic titel af te maken!
Database error: Vestiging toevoegen mislukt (dit is zelf geschreven tekst)
SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]String or binary data would be truncated.
mijn VRAAG: Iemand een idee wat het betekent, en wat ik moet doen om het te fixen? Ben al tijdje mee aan het prutsen geweest, maar hij wil nie echt!
Ik weet dat men graag code wil zien, maar aangezien er verschillende klasses zijn, zou dit een enorme lap tekst aan code opleveren! Persoonlijk dnek ik dat in het volgende stukje code een fout zou zitten, maar dat weet ik niet zeker!
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| protected int addVestigingToDatabase(Vestiging tempVestiging) { dbase.DisableAutoCommit(); // we gebruiken natuurlijk een transactie try { ResultSet rs = dbase.selectQuery("select MAX(vestigingnummer) FROM Vestigingen"); int newId = 1; if (rs.next() ) newId = rs.getInt(1) + 1; rs.close(); System.out.println("het ID van het nieuwe vestiging wordt: " + newId); String sql = "INSERT INTO Vestigingen VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement statement = dbase.getConnection().prepareStatement(sql); statement.setInt(1, 6); statement.setString(2, "rthrth"); statement.setString(3, "rthrt"); statement.setString(4, "trtrb"); statement.setString(5, "vbvbnvbn"); statement.setString(6, "89789789"); rs = statement.executeQuery(); System.out.println("de query is: " + sql); int rowsAffected = dbase.updateQuery(sql); if (rowsAffected == 0) { System.err.println("fout: database niet geupdate."); dbase.rollback(); // draai veranderingen door! dbase.EnableAutoCommit(); // haal de database uit 'transactie-mode' return 0; } tempVestiging.setVestigingNummer(newId); vestigingen.add(tempVestiging); dbase.commit(); // voer veranderingen door! System.out.println("Vestiging toegevoegd!, " + rowsAffected + " rijen geupdate!"); dbase.EnableAutoCommit(); // haal de database uit 'transactie-mode' return 1; } catch(SQLException ex) { System.err.println("Database error: Vestiging toevoegen mislukt"); System.err.println("SQLException: " + ex.getMessage()); } dbase.EnableAutoCommit(); // haal de database uit 'transactie-mode' return 0; } |
OK, sorry wastweer te vlug met klikken, was vergeten de opic titel af te maken!
[ Voor 6% gewijzigd door Verwijderd op 09-01-2003 17:38 ]