Hallo. ....

bin total deprimiert.
...
habe folgendes problem und komme nicht weiter ...
ich lese aus einer datenbank (ms sql server 2000) benutzerrechte aus, die ich in einer tabelle mit checkboxes darstelle. im moment sieht es jetzt allerdings leider so aus, dass ich zwar angezeigt bekomme, welche benutzer auf welcher seite welches recht zugewiesen bekommen hat, aber und jetzt kommts:
ich kann bei einer erneuten abfragen (AKTUALISIERUNG der rechte --> zum schreiben auf dem Server) nur die checkboxes auslesen, die auch wirklich gecheckt sind.
hier mal ein bischen code:
ACTION KLASSE
JSP SEITE
Na ja und wenn ich jetzt mein aktualisierunsbutton drücke um die werte auszulsesen bekomm ich eben nur die gecheckten. hat ich glaub ich schon geschrieben ...
folglich bekomme ich beim Eintrag in die datenbank über meine funktion eine array index out of bounds exception, da die einzelnen werte nicht gleich der anzahl der nutzer sind. die einzelnen checkboxes haben auch alle einen wert von mir zugewiesen bekommen. entweder f oder n. das half allerdings auch nicht.
weiß echt nicht mehr weiter. kann mir jemand helfen. bitte.... danke
bin total deprimiert.
...
habe folgendes problem und komme nicht weiter ...
ich lese aus einer datenbank (ms sql server 2000) benutzerrechte aus, die ich in einer tabelle mit checkboxes darstelle. im moment sieht es jetzt allerdings leider so aus, dass ich zwar angezeigt bekomme, welche benutzer auf welcher seite welches recht zugewiesen bekommen hat, aber und jetzt kommts:
ich kann bei einer erneuten abfragen (AKTUALISIERUNG der rechte --> zum schreiben auf dem Server) nur die checkboxes auslesen, die auch wirklich gecheckt sind.
hier mal ein bischen code:
ACTION KLASSE
PHP:
if(action.equals("verwalten"))
{
String [] ma_kuerzel = request.getParameterValues("ma_kuerzel_hidden");
String [] rights_login_out = request.getParameterValues("login_out");
String [] rights_ergaenzen = request.getParameterValues("ergaenzen");
String [] rights_benutzer = request.getParameterValues("benutzer");
String button_updaten = request.getParameter("updaten");
Connection cn = null, cnlog = null;
if(request.getParameter("kue") != null && request.getParameter("kue").length() > 0)
{
FRM_Benutzer fuser = (FRM_Benutzer) form;
try
{
cn = new DB_Object().getConnection();
DTO_Benutzer dto = DB_Benutzer.findByKuerzel_PK(cn, request.getParameter("kue"));
fuser.setUser(dto);
} catch(SQLException e) {
System.out.println(e.toString());
}
}
if(button_updaten != null)
{
//SHIT GEHT NIT
DB_Benutzer dbuser = new DB_Benutzer();
try
{
cn = new DB_Object().getConnection();
for(int i = 0; i < rights_login_out.length; i++){
System.out.println(rights_login_out[i]);
}
System.out.println(ma_kuerzel.length);
System.out.println(rights_login_out.length);
System.out.println(rights_ergaenzen.length);
System.out.println(rights_benutzer.length);
for(int i = 0; i < ma_kuerzel.length; i++)
dbuser.updateUserRights(cn, ma_kuerzel[i], rights_login_out[i], rights_ergaenzen[i], rights_benutzer[i]);
//LOGGING
} catch(SQLException e){
System.out.println("SQL Fehler: \n" + e.toString());
} finally {
if(cn != null)
new DB_Object().closeConnection(cn);
if(cnlog != null)
new DB_Object().closeConnection(cnlog);
}
}
return mapping.findForward("success");
}
JSP SEITE
PHP:
<c:forEach items="${FRM_Benutzer.alluser_withrights}" var="user" varStatus="rowCounter">
<c:choose>
<c:when test="${rowCounter.count % 2 == 0}">
<tr class="hell">
</c:when>
<c:otherwise>
<tr class="dunkel">
</c:otherwise>
</c:choose>
<td class="user"><c:out value="${user.name}" /></td>
<td align="right">
<a href="./benutzer.do?action=bearbeiten&kue=<c:out value='${user.ma_kuerzel}' />">
[<c:out value="${user.loginname}" />]
</a>
</td>
<td align="center">
<c:choose>
<c:when test="${user.login_out=='J' || user.login_out=='F'}">
<input type="checkbox" id="rights" name="login_out" checked="checked" value="F" onclick="changevalue(this)"/>
</c:when>
<c:otherwise>
<input type="checkbox" id="rights" name="login_out" value="N" onclick="changevalue(this)"/>
</c:otherwise>
</c:choose>
</td>
...
...
...
<td align="center">
<c:choose>
<c:when test="${user.benutzer=='J' || user.benutzer=='F'}">
<input type="checkbox" id="rights" name="benutzer" checked="checked" value="F" onclick="changevalue(this)"/>
</c:when>
<c:otherwise>
<input type="checkbox" id="rights" name="benutzer" value="N" onclick="changevalue(this)"/>
</c:otherwise>
</c:choose>
</td>
<td align="center">
<input type="hidden" id="ma_kuerzel_hidden" name="ma_kuerzel_hidden" value="<c:out value='${user.ma_kuerzel}' />" />
</td>
</tr>
</c:forEach>
Na ja und wenn ich jetzt mein aktualisierunsbutton drücke um die werte auszulsesen bekomm ich eben nur die gecheckten. hat ich glaub ich schon geschrieben ...
folglich bekomme ich beim Eintrag in die datenbank über meine funktion eine array index out of bounds exception, da die einzelnen werte nicht gleich der anzahl der nutzer sind. die einzelnen checkboxes haben auch alle einen wert von mir zugewiesen bekommen. entweder f oder n. das half allerdings auch nicht.
weiß echt nicht mehr weiter. kann mir jemand helfen. bitte.... danke