Avatar billede funkoo Nybegynder
08. oktober 2001 - 16:49 Der er 6 kommentarer og
1 løsning

Delete tabel

Hej,
Jeg vil slette tabeller fra en databasen. Det jeg har til rådighed er getparameter.
Det jeg har forsøgt er at lave session på getparameter. Derefter kalder jeg siden som skal fortage sletningen. Denne side henter sessionen og connecter og smider en variabel over. Nå men nu til koden:(Der skal her siges at side 1 indeholder Forms)
side 2:
<%
  String kys = request.getParameter(\"pkey\");
  session.setAttribute(\"userid\",  kys);
%>
Side 3:
<%
  int sletP = Integer.parseInt((String)  session.getAttribute(\"userid\"));

      User.connect();
      User.DeleteUser(sletP);
      User.disconnect();
    %>
Bønnen som fortager connections og alt det brøvl:
(Her skriver jeg kun delete funktionen)
public void DeleteUser (int sletP) throws SQLException, Exception {
    if (con != null) { //(con er connections, om der er forbindelse)
      try {
        PreparedStatement delete;
        delete = con.prepareStatement(\"DELETE FROM user WHERE userid=\'\" + sletP + \"\'\");
          delete.execute();

      } catch (SQLException sqle) {
        error = \"SQLException: update failed, possible duplicate entry\";
        throw new SQLException(error);
      } catch (Exception e) {
        error = \"An exception occured while deleting projekt.\";
        throw new Exception(error);
      }
    } else {
      error = \"Exception: Connection to database was lost.\";
      throw new Exception(error);
    }
  }
Der skal ikke tages så meget højde for exceptions. De er der for at give mig besked om hvor der er fejl.
Problemet er at man sommetider kan udføre handlingen. Men andre gange kommer fejlmeddelsen at den ikke kender session.getAttribute(userid):
java.lang.NoSuchMethodError
Avatar billede mipe1 Nybegynder
08. oktober 2001 - 21:05 #1
når den dør er det så fordi at din session er død mellem side 2 og 3? F.eks. hvis man står passiv på side 2 forlænge
Avatar billede funkoo Nybegynder
08. oktober 2001 - 21:54 #2
Kan man så \"dræbe\" en session eller dør den af sig selv?
Avatar billede mipe1 Nybegynder
08. oktober 2001 - 22:10 #3
det er højst sandsynligt sat op på serveren at session udløber efter 30m-60m
Og ja man kan anvende invalidate() på session-objektet.

Men hvis det ikke er tilfældet at session har været inaktiv i længere tid, så må problemet være et andet
Avatar billede funkoo Nybegynder
08. oktober 2001 - 22:28 #4
Ja jeg tror at det er noget andet der driller. Men fortæl mig mere om invalidate()!!
Kan man bruge det i en jsp-side? Eller er det ved servlets? Lige hvordan bruger man den?
Avatar billede mipe1 Nybegynder
08. oktober 2001 - 22:46 #5
session.invalidate() vil \"dræbe\" den aktuelle session og dermed også de attributter den evt. må holde
Avatar billede funkoo Nybegynder
09. oktober 2001 - 10:19 #6
Jeg har lige prøvet at placere session.invalidate() på en af de sidste sider, som skulle sørge for at slettte alle attributer sessionerne måtte have. Problem: Jeg kan slet ikke bruge sessioner mere!!!
Avatar billede funkoo Nybegynder
09. oktober 2001 - 14:38 #7
Jeg har selv fundet fejlen. Der er fordi PreparedStatement delete ikke bliver lukket dvs
delete.close().
Andet var det ikke!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester