Avatar billede andersdp Nybegynder
14. december 2002 - 11:27 Der er 8 kommentarer og
1 løsning

Slette række i MySQL db med jsp..

Jeg har problemer med at få slettet en række i en tabel.
Jeg har to jsp sider, en med en række radioknapper på der sender en string videre til side nummer to..

Koden til side nr. to er her:

<%@ page import="java.sql.*" %>
<%
String[] valgt=request.getParameterValues("radioknap");
%>
<%
Connection ConnRecordset1 = DriverManager.getConnection("jdbc:mysql://localhost:3306/ecloredkdb","****","****");
PreparedStatement StatementRecordset1 = ConnRecordset1.prepareStatement("SELECT * FROM nyheder");
ResultSet Recordset1 = StatementRecordset1.executeQuery();
Statement Stmt = ConnRecordset1.createStatement();

for (int i=0; i<=valgt.length;i++)
{
String sqlStatement="DELETE FROM nyheder WHERE nyhed_id = ('valgt')";
Stmt.executeUpdate(sqlStatement);
}
ConnRecordset1.close();
%>

Umiddelbart så går det faktisk igennem uden fejl fra Tomcat, men rækken bliver bare ikke slettet.

Hvis der er nogen der har et fif, eller en side liggende der virker ---> :)
Avatar billede erikjacobsen Ekspert
14. december 2002 - 11:30 #1
String sqlStatement="DELETE FROM nyheder WHERE nyhed_id = ('"+valgt[i]?"')";
Avatar billede erikjacobsen Ekspert
14. december 2002 - 11:30 #2
Hovsa:
String sqlStatement="DELETE FROM nyheder WHERE nyhed_id = ('"+valgt[i]+"')";
Avatar billede andersdp Nybegynder
14. december 2002 - 11:39 #3
Det virker, jeg får slettet min valgte række...

MEN, jeg får samtidig følgende fejl: "ArrayIndexOutOfBoundsException"...

-> erikjacobsen: Har du en løsning på den også (Jeg er nemlig ikke så skarp til java...)
Avatar billede disky Nybegynder
14. december 2002 - 11:43 #4
Der er flere problemmer i denne her.

Hvordan ser din form ud som du får 'valgt' fra ?

Dit valgt[] indeholder ALLE felter som der findes i den form der er blevet submittet, inklusiv submit knappen.

Hvordan er din database du vil hente data fra defineret ?

Post den information så er det noget lettere at hjælpe dig :)
Avatar billede andersdp Nybegynder
14. december 2002 - 11:47 #5
Min form:

<form name="form1" method="post" action="forsidedeleteconfirm.jsp">
        <br>
        <input type="radio" name="radioknap" value="<%=Recordset1.getString(1)%>">
        <br>
        <br>
        &nbsp;
        <input type="submit" name="Submit" value="slet valgt nyhed">      </form>

Mine nyheder ligger i en tabel, med tre kolonner: nyhed_id (PK, int), dato (varchar) og text (varchar)
Avatar billede erikjacobsen Ekspert
14. december 2002 - 11:50 #6
for (int i=0; i<valgt.length;i++)
Avatar billede andersdp Nybegynder
14. december 2002 - 11:52 #7
Der var den!! Mange tak for hjælpen... Der reddede du lige min lørdag...:)
Avatar billede erikjacobsen Ekspert
14. december 2002 - 11:55 #8
Men - har du ikke kun én radioknap? Er der så ikke mere fornuft
i at have en checkbox? Og i givet fald behøver du ingen for-løkke.
Avatar billede andersdp Nybegynder
14. december 2002 - 12:06 #9
Antallet af radioknapper dannes ud fra antallet af nyheder i tabellen.. Det vigtigste er pt at det virker - så er det muligt at det kunne laves smartere, jeg ved bare ikke lige hvordan..
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