Du bist nicht angemeldet.

Localhost

Ehemaliger Supporter

  • »Localhost« ist der Autor dieses Themas

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

1

Dienstag, 19. Juli 2011, 17:54

[Snippet] Andere User vermissen

Guten Abend,
ich dacht ich tu den Noobs mal was gutes und release mein Vermisst-Snippet. :D

1. Als erstes braucht ihr 'ne neue Datenbanktabelle namens 'vermisst':

Zitat

CREATE TABLE `vermisst` (`name` VARCHAR( 25 ) NOT NULL ,
`vermisst` VARCHAR( 25 ) NOT NULL) ENGINE = MYISAM ;


2. Danach müsst ihr if (online) { in der CommandParser.java (Profile) suchen und nach der }else{ Schleife (wo also angezeigt wird, dass der Nick offline ist) folgenden Code hinzufügen:

Zitat

PoolConnection pcon2E = ConnectionPool.getConnection();
PreparedStatement ps2E = null;

try {
Connection con2E = pcon2E.connect();
ps2E = con2E.prepareStatement("insert into vermisst set name = ?, vermisst = ?");
ps2E.setString(1, client.getName());
ps2E.setString(2, target.getName());
ps2E.execute();


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

pcon2E.close();

}

3. Wenn ihr das getan habt, müsst ihr noch in der Channel.java vor if (topic != null) { folgendes hinzufügen:

Zitat

PoolConnection pconla = ConnectionPool.getConnection();
PreparedStatement psla = null;
PreparedStatement pslb = null;
PreparedStatement pslc = null;
try {
Connection conla = pconla.connect();
psla = conla.prepareStatement("SELECT count(name) as summe FROM `vermisst` where vermisst = ?");
psla.setString(1, client.getName());
ResultSet rsla = psla.executeQuery();
Connection conlb = pconla.connect();
pslb = conlb.prepareStatement("SELECT name FROM `vermisst` where vermisst = ? group by name");
pslb.setString(1, client.getName());
ResultSet rslb = pslb.executeQuery();
String vermisst = "";
int lol = 1;
String ha = "";
while(rsla.next()) {
if(rsla.getInt("summe") >= 3) {

while(rslb.next()) {
if(lol != 1) {
vermisst += ", ";
ha = "haben";
}else{
ha = "hat";
}
vermisst += String.format("_°>_h%s|/serverpp \"|/w \"<°_", rslb.getString("name"));
lol++;
}



}

}

if(!vermisst.isEmpty()) {
client.sendButlerMessage(name, String.format("°BB°%s %s dich ziemlich arg vermisst...", vermisst, ha));
Connection conlc = pconla.connect();
pslc = conlc.prepareStatement("delete from vermisst where vermisst = ?");
pslc.setString(1, client.getName());
pslc.execute();
}


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

pconla.close();
}


4. Fertig! Falls ihr die Pakete für die Datenbankverbindung (noch) nicht oben eingefügt habt, müsst ihr dort folgendes einfügen:

Zitat

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import tools.database.ConnectionPool;
import tools.database.PoolConnection;

mfg

/E: Erstes und letztes Snippet, will solche Leute like Witti nicht 'unterstützen'.
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Localhost« (19. Juli 2011, 18:10)


2

Dienstag, 19. Juli 2011, 19:19

Danke für das Snippet, sehr interessant.

Bitte für Codeteile den [java] BB-Code benutzen und nicht den [zitat] BB-Code.
Kein Support per PN. Nur im Forum!

Localhost

Ehemaliger Supporter

  • »Localhost« ist der Autor dieses Themas

Beiträge: 345

Wohnort: 127.0.0.1

  • Private Nachricht senden

3

Dienstag, 19. Juli 2011, 20:00

Danke für das Snippet, sehr interessant.

Bitte für Codeteile den [java] BB-Code benutzen und nicht den [zitat] BB-Code.
Hätte ich [java] benutzt, würden da keine Zeichenumbrüche dargestellt werden.
No support via message.

"Der gute Programmierer ist nicht der, der keine Fehler macht, sondern der, der seine Fehler rasch findet und behebt."