Hi Jungs,
Ich hab ein Problem, ich will für den Admin meines Programms die Möglichkeit geben frisch angemeldete User, in der GUI, freizuschalten.
Das Auslesen der Datenbank und das einfügen in JTable funktioniert!
Auch das übernehmen der Änderungen nun will ich aber das ganze verbesern und weniger Fehleranfällig machen!
Ich will zusätlich eine Checkbox in einer Spalte haben
Ich will dann in meiner Methode die die Änderungen in die DB schreibt
hier erstmal die Methode
Das Problem ist das ich nicht alle User Updaten will sondern nur, in deren Zeile bei der Checkbox aus ein hacken gesetzt ist!
Die Registiertung erfolgt auf gewissen Anforderungen, spezielle Email, spezieller Username(vorname.nachname) etc etc.
Da sich jeder Zeit rein theoretisch aber auch ein User mit dem Namen ****.***** anmelden könnte will ich halt das der Admin auswählen muss welche User er freischaltet und welche nicht!
Gibts da eine möglichkeit?
Also nochmal zusammengefasst:
- Ich will in meiner letzen Spalte also ganz rechts in jeder Zeile eine Chechbox haben.
- Bevor in die DB geschrieben wird wird überprüft ob die Checkbox angehackt/true ist
- Dies soll verhindern das User freigeschaltet werden die nicht meinen Richtlinien entsprechen
Kennt ihr da einen trick finde auf Youtube nur veraltete Beispiele mit AWT bzw einen Haufen an Tutorial in spanisch... kann leider kein Spanisch selbst auf englisch finde ich nicht das was ich suche...
Ich hab ein Problem, ich will für den Admin meines Programms die Möglichkeit geben frisch angemeldete User, in der GUI, freizuschalten.
Das Auslesen der Datenbank und das einfügen in JTable funktioniert!
Auch das übernehmen der Änderungen nun will ich aber das ganze verbesern und weniger Fehleranfällig machen!
Ich will zusätlich eine Checkbox in einer Spalte haben
Ich will dann in meiner Methode die die Änderungen in die DB schreibt
hier erstmal die Methode
Java:
private void writeDatainDB() {
mnr = new int[rowData.length];
for(int i = 0; i<rowData.length;i++) mnr[i]=Integer.parseInt(rowData[i][0]);
for(int i:mnr)
db.RunQuery("UPDATE benutzer SET Benutzerberechtigungslevel=0 WHERE Matrikelnummer ="+i+" AND");
}
Die Registiertung erfolgt auf gewissen Anforderungen, spezielle Email, spezieller Username(vorname.nachname) etc etc.
Da sich jeder Zeit rein theoretisch aber auch ein User mit dem Namen ****.***** anmelden könnte will ich halt das der Admin auswählen muss welche User er freischaltet und welche nicht!
Gibts da eine möglichkeit?
Also nochmal zusammengefasst:
- Ich will in meiner letzen Spalte also ganz rechts in jeder Zeile eine Chechbox haben.
- Bevor in die DB geschrieben wird wird überprüft ob die Checkbox angehackt/true ist
- Dies soll verhindern das User freigeschaltet werden die nicht meinen Richtlinien entsprechen
Kennt ihr da einen trick finde auf Youtube nur veraltete Beispiele mit AWT bzw einen Haufen an Tutorial in spanisch... kann leider kein Spanisch selbst auf englisch finde ich nicht das was ich suche...
Java:
package de.studichatinc.chatsystem.chatclient;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import de.studichatinc.chatsystem.chatserver.MySQL;
public class userFreischaltenWindow extends JFrame {
/**
*
*/
private static final long serialVersionUID = 5703172794913021298L;
private String query="",arr1[],rowData[][];
int[] mnr;
JTable table;
JScrollPane scroll;
JButton btnBesttigen;
JButton btnAbbrechen;;
int sumofrows;
MySQL db = new MySQL();
/**
* Launch the application.
*/
// Auskommentiert da nur für Testzwecke benötigt
// public static void main(String[] args) {
// EventQueue.invokeLater(new Runnable() {
// public void run() {
// try {
// userFreischaltenWindow frame = new userFreischaltenWindow();
// frame.setVisible(true);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// });
// }
/**
* Create the frame.
*/
public userFreischaltenWindow() {
setResizable(false);
//--------- Die Spaltennamen werden festgelegt--------
String[] columnNames = {
"Matrikelnummer", "Username","Email","userlevel"
};
//Ich hole mir die Daten aus der Datenbank
getrowData();
arr1 = query.split("\n");
rowData = new String[arr1.length][];
for(int i = 0; i < arr1.length; i++){
rowData[i] = arr1[i].split(",");
}
//So jezzt haben wir ein Array mit den ganze DB Daten
///----------------
getContentPane().setLayout(null);
setSize(420,450);
setLocationRelativeTo(null);
table = new JTable(rowData,columnNames);
scroll = new JScrollPane(table);
//scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
scroll.setBounds(10, 25, 383, 334);
getContentPane().add(scroll);
//Buttons
btnAbbrechen = new JButton("Abbrechen");
btnAbbrechen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
backtoChatgui();
}
});
btnAbbrechen.setBounds(10, 370, 125, 23);
getContentPane().add(btnAbbrechen);
//Buttons
btnBesttigen = new JButton("Best\u00E4tigen");
btnBesttigen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
writeDatainDB();
}
});
btnBesttigen.setBounds(268, 370, 125, 23);
getContentPane().add(btnBesttigen);
getContentPane().setVisible(true);
}
private void backtoChatgui() {
Chat_Gui gui = new Chat_Gui();
gui.setVisible(true);
dispose();
}
private void writeDatainDB() {
// TODO die Werte aus der Spalte mit dem Userlevel in dei Tabelle übernehmen
mnr = new int[rowData.length];
for(int i = 0; i<rowData.length;i++) mnr[i]=Integer.parseInt(rowData[i][0]);
for(int i:mnr)
db.RunQuery("UPDATE benutzer SET Benutzerberechtigungslevel=0 WHERE Matrikelnummer ="+i+" AND");
}
private void getrowData(){
String extra ="";
// extra = " WHERE Benutzerberechtigungslevel=-1";
ResultSet ret = db.ReturnQuery("SELECT Matrikelnummer,Benutzername,Emailadresse,Benutzerberechtigungslevel FROM benutzer"+extra+"");
try {
while (ret.next()) {
String matrikelnummer = ret.getString("Matrikelnummer");
String benutzername = ret.getString("Benutzername");
String email = ret.getString("Emailadresse");
String benutzerberechtigungslevel = ret.getString("Benutzerberechtigungslevel");
sumofrows++;
if(query.equals("")){
this.query = matrikelnummer + "," + benutzername + "," + email + "," + benutzerberechtigungslevel+"\n";
}
else{
this.query += matrikelnummer + "," + benutzername + "," + email + "," + benutzerberechtigungslevel+"\n";
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Zuletzt bearbeitet: