Avatar billede cyperjam Nybegynder
06. april 2004 - 15:13 Der er 8 kommentarer

slette fra databasen

hej eksperter
jeg har et problem med at fjærne en vare fra min indkøbskurv
varen er lagt i en forespørgsel i access database
her er min kode:

try {
      stat.executeUpdate("DELETE * FROM indholdAfKurv WHERE antal = '" +request.getParameter("antal")+"' AND vareNavn = '"+request.getParameter("vareNavn")+"' AND pris = '"+request.getParameter("pris")+"' ");
    }
    catch (Exception ex) {
      System.out.println("Det er fejl med DELETE FROM: " + ex.getMessage());

    }
her er fejl meddelelsen fra JB

Det er fejl med DELETE FROM: [Microsoft][ODBC Microsoft Access-driver] Der kan ikke slettes fra de angivne tabeller.
Avatar billede arne_v Ekspert
06. april 2004 - 15:29 #1
Jeg mener ikke at der skal være * i DELETE og jeg tvivler også på
at antal og pris er text (og så skal der ikke '' omkring dem i WHERE).

Prøv og ret dem.
Avatar billede arne_v Ekspert
06. april 2004 - 15:29 #2
stat.executeUpdate("DELETE FROM indholdAfKurv WHERE antal = " +request.getParameter("antal")+" AND vareNavn = '"+request.getParameter("vareNavn")+"' AND pris = "+request.getParameter("pris"));
Avatar billede cyperjam Nybegynder
06. april 2004 - 15:32 #3
har lige prøvet med den kode du rettede men det virker stadig ikke
samme fejl
Avatar billede cyperjam Nybegynder
06. april 2004 - 15:36 #4
har også lige prøvet med denne her

stat.executeUpdate("DELETE * FROM indholdAfKurv");

for at se om det gjorde nogen forskel men nej

er problemet så et helt andet sted?
Avatar billede cyperjam Nybegynder
06. april 2004 - 15:38 #5
Antal og pris er angivet som tal
Avatar billede arne_v Ekspert
06. april 2004 - 16:00 #6
stat.executeUpdate("DELETE FROM indholdAfKurv");

uden * bør slette alle records.
Avatar billede cyperjam Nybegynder
06. april 2004 - 16:03 #7
jeg ved det godt men det virker heller ikke
er der mere af koden jeg kan vise for bedre forståelse?
Avatar billede cyperjam Nybegynder
06. april 2004 - 16:07 #8
package projekt;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/

public class kurvTilfojSlet extends HttpServlet {
  static final private String CONTENT_TYPE = "text/html";
  //Initialize global variables
  final String dbDriver  = "sun.jdbc.odbc.JdbcOdbcDriver";
  final String dbUrl      = "jdbc:odbc:projekt";
  Connection dbConn = null;
  private Statement stat = null;
  private String ud= null;
  ResultSet rs =null;
  public void init() throws ServletException {
  try
    { // Get driver for the database
      Class.forName( dbDriver ).newInstance();
      // Open connection to the database
      dbConn = DriverManager.getConnection(dbUrl);
    } // Catch sentences print out information about the error that has occoured
    catch (ClassNotFoundException e)
    {
      System.err.println("Class not found: " + e);
    }
    catch (InstantiationException e)
    {
      System.err.println("InstantiationException: " + e);
    }
    catch (IllegalAccessException e)
    {
      System.err.println("IllegalAccessException: " + e);
    }
    catch (SQLException E)
    {
      System.err.println("SQLException: " + E.getMessage());
      System.err.println("SQLState:    " + E.getSQLState());
      System.err.println("VendorError:  " + E.getErrorCode());
    }
  }
  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();

    try {
   
        stat.executeUpdate("DELETE * FROM indholdAfKurv WHERE antal = '" +request.getParameter("antal")+"' AND vareNavn = '"+request.getParameter("vareNavn")+"' AND pris = '"+request.getParameter("pris")+"' ");
    }
    catch (Exception ex) {
      System.out.println("Det er fejl med DELETE FROM: " + ex.getMessage());

    }
    try {
      stat = dbConn.createStatement();


            out.println( "<head><title>Indhold af din kurv</title>");
            out.println("<body background='images/frame4back.jpg' style='background-attachment: fixed'>");
            out.println("</head><body><br/><p><b>Indhold af din kurv</b></p>");
            out.println("<table border=2 width=90%>");
            out.println("<tr>");
            out.println("<th>Vare navn</th><th>Antal</th><th>Pris</th><th>Sum</th></tr>");


            rs = stat.executeQuery("SELECT * from indholdAfKurv");

            while(rs.next())
        {
            String ud = " <td class = 'right bold'>Vare navn:</td>"+
            "<td><input type = 'text' value = "+rs.getString("vareNavn")+" name = 'vareNavn' size = '20' />"+
            "</td>"+
            "<td class = 'right bold'>Antal af vare:</td>"+
            "<td><input type = 'text' value = "+rs.getString("antal")+" name = 'antal' size = '20' />"+
            "</td>"+
            "<td class = 'right bold'>pris:</td>"+
            "<td><input type = 'text' value = "+rs.getString("pris")+" name = 'pris' size = '20' />"+
            "</td>"+
            "<td class = 'right bold'>Sum:</td>"+
            "<td><input type = 'text' value = "+rs.getString("Sum")+" name = 'Sum' size = '20' />"+
            "</td>"+
            "<form action='/kurvtilfojslet' method='get'>"+
            "<td><p align='left'><input type='submit' id=Submit' value='Slet'></p>" +
            "</form>"+

            "</td><tr></tr>";

            out.println(ud);
            }

    }
    catch (Exception ex) { System.out.println("Udskrivning af kurven: " + ex.getMessage());

    }
    try {
      stat = dbConn.createStatement();

            rs = stat.executeQuery("SELECT Sum(antal*pris) from indholdAfKurv ");
              if(rs.next()) {
            int sum = rs.getInt(1);

              String ud = " <td class = 'right bold'>Vare navn:</td>"+
            "<td><input type = 'text' value = "+ sum +" name = 'vareNavn' size = '20' />"+
            "</td>";
            out.println(ud);
              }
    }
    catch (Exception ex) {
      System.out.println("Udskrivning af duregnede sum: " + ex.getMessage());

    }



  }
  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>kurvTilfojSlet</title></head>");
    out.println("<body>");
    out.println("<p>The servlet has received a POST. This is the reply.</p>");
    out.println("</body></html>");
  }
  //Clean up resources
  public void destroy() {
  }
}
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