Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

01.03.2012, 17:52

Fehler beim Erweiterten Banana-Chat!

Hallo, ich und einige andere haben bemerkt, dass beim Erweiterten Banana-Chat die Kisses und Knuddels nicht gespeichert werden wenn man dem Chat verlässt.

Wenn man also jemanden im Chat einen Kiss oder Knuddel gibt, und der jenige der den Kiss oder Knuddel gekriegt hat verlässt den Chat, dann sind diese wieder weg.

Nur über MySQL gesetzte angaben bleiben im Profil erhalten.


Jetzt ist die Frage, ist das Problem beim Standart Banana-Chat auch vorhanden, oder nur in der Version von Localhost?

2

01.03.2012, 17:56

Verlässt du den Chat und kommst neu? Oder machst du Chat aus? Normalerweise müsste eine Fehlermeldung kommen, falls es ein Fehler bei saveStats ist.
Meine Grafikseite: http://chatsmileys.senzious.de/

3

01.03.2012, 18:22

Bereits beim verlassen des chats, wird der wert wieder zurückgesetzt, was also bedeutet er speichert die neue veränderung in der mysql datenbank nicht.
Der Fehler liegt auch nicht bei mir, 2 weitere die auch den erweiterten chat haben, haben genau das selbe problem..

In meiner KOnsole steht folgendes:


E:\Fertige Programme\Knuddels Chat>java -cp dist\bananachat.jar;lib\* knuddels.S
erv
er 2710
Lade den Butler
Lade die Channel styles
Lade alle Channels
Lade die Smileys
online auf port 2710
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in
your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '`stadt` = 'Goldhandy', `land` = 3699.76, `hobb
ys` = 'LenaFrechen', `job` = '#Ver' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2119)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2415)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2333)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2318)
at knuddels.Client.saveStats(Client.java:619)
at knuddels.Client.leaveChannel(Client.java:482)
at handler.LeaveChannelHandler.handle(LeaveChannelHandler.java:32)
at knuddels.SessionHandler.run(SessionHandler.java:90)
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in
your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '`stadt` = 'Sysadmin zu sein', `land` = 12000.0
, `hobbys` = 'Suchtey', `job` = '#' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2119)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2415)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2333)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2318)
at knuddels.Client.saveStats(Client.java:619)
at knuddels.Client.leaveChannel(Client.java:482)
at handler.LeaveChannelHandler.handle(LeaveChannelHandler.java:32)
at knuddels.SessionHandler.run(SessionHandler.java:90)
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in
your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near '`stadt` = 'Sysadmin zu sein', `land` = 12000.0
, `hobbys` = 'Suchtey', `job` = '#' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.Util.getInstance(Util.java:382)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.ja
va:2119)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2415)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2333)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java
:2318)
at knuddels.Client.saveStats(Client.java:619)
at knuddels.Client.leaveChannel(Client.java:482)
at handler.LeaveChannelHandler.handle(LeaveChannelHandler.java:32)
at knuddels.SessionHandler.run(SessionHandler.java:90)

4

01.03.2012, 18:24

Du hast ja auch MySQL fehler... Korrigier lieber erstmal deine Tabellen.
Kannst du mal die Teile der Zeilen durchgeben?

Ich möchte mir des statement mal anschauen.

5

01.03.2012, 18:48

Was soll ich denn korrigieren, ich habe doch gar nichts seit beginn verändert an den Standart Tabellen.??

6

01.03.2012, 18:49

Ich würde gerne die Zeilen sehen, die in dienem Fehler angezeigt werden. Dort ist anscheinend ein Fehler im statement. Vielleicht ist da ein Zeichen, was nicht hingehört oder ähnliches.

7

01.03.2012, 18:51

meinst du die Zeilen aus den Java dateien, die er kritisiert, beispiel client.java ZEILE 619 ? etc?

Beiträge: 141

Beruf: Verkaufstellenverwalter

  • Private Nachricht senden

8

01.03.2012, 18:55

er meinte diesen Teil das da wohl ein Fehler dringe ist

Java-Quelltext

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
private void saveStats() {
        PoolConnection pcon = ConnectionPool.getConnection();
        PreparedStatement ps = null;

        try {
            Connection con = pcon.connect();
            ps = con.prepareStatement("UPDATE `accounts` SET `kisses` = ?, `knuddels` = ?, `onlineTime` = ?, `ipAddress` = ? WHERE `name` = ?");
            ps.setInt(1, kisses);
            ps.setInt(2, knuddels);
            ps.setInt(3, getOnlineTime());
            ps.setString(4, ipAddress);
            ps.setString(5, name);
            ps.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if (ps != null) {
                try {
                    ps.close();
                } catch (SQLException e) {
                }
            }

            pcon.close();
        }
    }

9

01.03.2012, 18:58

IN welcher Datei sind diese zeilen?

10

01.03.2012, 18:59

Sieht eigendlich völlig korrekt aus, bis auf einigen Leerzeichen. Probier mal folgendes:

Zitat

UPDATE `accounts` SET `kisses`=?, `knuddels`=?, `onlineTime`=?, `ipAddress`=? WHERE `name`=? LIMIT 1