Avatar billede dr.big Nybegynder
25. marts 2008 - 11:12 Der er 9 kommentarer og
1 løsning

jsp - Knap som sletter fra mysql

Hejsa,

Jeg har prøvet at lave en jsp som skal udtrække nogle ”varer” fra min mysql database, jeg kunne nu godt tænke mig at lave en knap efter hver varer så man kan slette den varer.
Her er min kode, håber i kan hjælpe :)

<%@ page language="java" import="java.sql.*" %>
<html>
<head><title>Velkommen</title></head>
<body>
<h1>
Velkommen
</h1>
Tilføj ny vare <a href="opret_varer.jsp">her</a>
<%
Class.forName ("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql:///butik","root","");
Statement stmt = con.createStatement();
ResultSet navn = stmt.executeQuery("SELECT varenr, Overskrift, Pris, Beskrivelse, antal from varer");


while(navn.next())
{
%>
<hr>
<b>Varenr: </b><%= navn.getString("varenr") %><br>
<b>Overskrift: </b> <%= navn.getString("Overskrift") %><br>
<b>Pris: </b><%= navn.getString("Pris") %> kr.<br>
<br>
<b>Beskrivelse af varen: </b><br><%= navn.getString("Beskrivelse") %><br><br>
<b>Antal paa lager: </b><%= navn.getString("antal") %>
<p>

<%
}
navn.close();
stmt.close();
con.close();
%>

</body>
</html>
Avatar billede arne_v Ekspert
25. marts 2008 - 12:48 #1
den super simple løsning må være:

<a href="SletServlet?varene=<%= navn.getString("varenr") %>"><img href="sletbutton.gif"></a>
Avatar billede dr.big Nybegynder
25. marts 2008 - 13:10 #2
Hej Arne,
Jeg har nu indsat til her:

<b>Antal paa lager: </b><%= navn.getString("antal") %>
<a href="SletServlet?varene=<%= navn.getString("varenr") %>"><img href="sletbutton.gif"></a>

Men den kommer frem med en fejl… er det sådan at jeg skal oprette en ny jsp side, SletServlet og i det tilfælde hvad skal den så indeholde?

Jeg skal måske lige sige at jeg hel grøn på dette område:)
Avatar billede arne_v Ekspert
25. marts 2008 - 14:18 #3
Jeg forestillede mig at SletServlet var en servlet som slettede og lavede en forward
til en JSP side.

Men:

<a href="slet.jsp?varene=<%= navn.getString("varenr") %>"><img href="sletbutton.gif"></a>

boer ogsaa virke.

request.getParameter("varene") vil indeholde det varenummer der skal sletttes (uanset
om det er servlet eller JSP).
Avatar billede dr.big Nybegynder
25. marts 2008 - 16:13 #4
Hej igen, har nu prøvet at lave en ny side som hedder slet.jsp som indeholder:

<%@ page import="java.sql.*" %>
<%
request.getParameter("varene");
%>
<%
Connection con = DriverManager.getConnection("jdbc:mysql:///butik","root","");
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM varer");
Statement Stmt = con.createStatement();

{
String sqlStatement="DELETE FROM varer WHERE varenr = ('varene')";
Stmt.executeUpdate(sqlStatement);
}
pstmt.close();
con.close();
%>

Men ved ikke om jeg er helt galt på den eller hvad, for det virker ikke:( TomCat kommer dog ikke frem med nogle fejl meddelse & heller ik Eclipse :)
Avatar billede arne_v Ekspert
25. marts 2008 - 16:32 #5
String sqlStatement="DELETE FROM varer WHERE varenr = '" + request.getParameter("varene") + "'";
Avatar billede arne_v Ekspert
25. marts 2008 - 16:32 #6
Husk data validering.

Og overvej prepared statement.
Avatar billede dr.big Nybegynder
25. marts 2008 - 16:39 #7
Så fik jeg det til at virke,
Mange tak Arne, læg et svar så du kan få dine velfortjente point

Kan være jeg vender tilbage senere med nye problemer :)
Avatar billede arne_v Ekspert
25. marts 2008 - 16:44 #8
svar
Avatar billede arne_v Ekspert
25. marts 2008 - 16:46 #9
Der er altsaa rigtigt mange maader at lave ting paa i Java web apps.

http://www.eksperten.dk/artikler/830
http://www.eksperten.dk/artikler/743

ville nok give dig lidt inspiration.

Specielt den sidste er der rigtigt meget stof i.
Avatar billede dr.big Nybegynder
25. marts 2008 - 16:49 #10
okay, det vil jeg lige tage en kigger på
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