Du bist nicht angemeldet.

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