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

Donnerstag, 15. November 2012, 12:15

Kleines Problem bei meinem SmileyCode....

Hallo ihr lieben, ich habe folgendes Problem:
Wenn ich im Chat die Funktion "/smileys"
eingebe kommt folgender Fhler:
Man wird ausgeloggt und in der Console erscheint

Quellcode

1
2
3
4
5
6
7
8
9
10
11
C:\Users\root\Documents\NetBeansProjects\bananachat>java -cp dist\bananachat.jar
;lib\* knuddels.Server 2710
Loading butler
Loading channel styles
Loading channels
Loading smileys
Listening on port 2710
Exception in thread "Thread-3" java.lang.NullPointerException
    	at knuddels.CommandParser.parse(CommandParser.java:230)
    	at handler.ChatHandler.handle(ChatHandler.java:50)
    	at knuddels.SessionHandler.run(SessionHandler.java:74)

Der entsprechende Code ist folgender:

Quellcode

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
54
55
else if (cmd.equals("smileys")) {
                     	if (arg.isEmpty()) {

            	PoolConnection pco = ConnectionPool.getConnection();
            	PreparedStatement p = null;

            	try {
                	ResultSet r = p.executeQuery();

                	if (r.next()) {

                        	PoolConnection pcon = ConnectionPool.getConnection();
                        	PreparedStatement ps = null;
                        	Connection con = pcon.connect();

                        	ps = con.prepareStatement("SELECT * FROM `smileys`");
                        	ps.setString(1, client.getName());
                        	ResultSet rs = ps.executeQuery();
                        	String Smileys = "";

                        	while (rs.next()) {

                            	String code = rs.getString("code");
                            	String replacement = rs.getString("replacement");

                            	StringBuilder builder = new StringBuilder();


                            	builder.append(String.format("##_Code_:°%%25°°>_h%s|/w "<r°°%%00#°", code));
                            	builder.append(String.format("_Repl_:°%%25°%s°%%00°#", replacement));



                            	Smileys += builder.toString() + "##°-°";
                        	}

                        	String popup = Popup.create("Smileys", "Smileys", Smileys, 550, 400);
                        	client.send(popup);


                	}

            	} catch (SQLException e) {
                	e.printStackTrace();
            	} finally {
                	if (p != null) {
                    	try {
                        	p.close();
                    	} catch (SQLException e) {
                    	}
                	}

                	pco.close();
            	}}
    	}


Kann mir jemand helfen?

2

Donnerstag, 15. November 2012, 13:54

Was steht auf at knuddels.CommandParser.parse(CommandParser.java:230)?

Hast wohl irgendwo was initalisiert, was ein NULL-Wert zurückwirft.

Edit:
Ok, Ich glaub ich habs gefunden:

Java-Quelltext

1
2
3
4
PreparedStatement p = null;

            	try {
                	ResultSet r = p.executeQuery();


Wie willst du einen NULL-Wert mittels executeQuery() ausführen?
Die Variable p weiss noch nichtmals ob diese überhaupt die Methode "executeQuery" besitzt. Du solltest hier vielleicht mal besser Initalisieren :)

Hier mal weiteres: Alles was AUSKOMMENTIERT ist, Fehlt bei dir!
ACHTUNG: Jetzt kein Copy&Paste, der Teil dient nur als Beispiel - Habs aus meinem Server von einer Klasse kopiert nur um dir zu zeigen, was da Fehlen könnte...

Java-Quelltext

1
2
3
4
5
6
7
8
		PoolConnection pcon = ConnectionPool.getConnection();
		PreparedStatement ps = null;

		try {
			// FEHLT: Connection con = pcon.connect();
			// FEHLT: ps = con.prepareStatement("SELECT `account_nickname`, `account_password` FROM `account_users` WHERE `account_nickname`=? LIMIT 1");
			// FEHLT: ps.setString(1, nickname);
			ResultSet rs = ps.executeQuery();

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Blizzard« (15. November 2012, 14:01)


3

Sonntag, 18. November 2012, 19:16

Für ein "Danke" oder "Problem gelöst" hats wohl nicht mehr gereicht, was?

Es hat sich bereits 1 registrierter Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Spectra

4

Sonntag, 18. November 2012, 21:15

Ich bedanke mich, wenn das Problem wirklich gelöst ist ;)

Ähnliche Themen