Uitdaging : dubbele aanhalingstekens naar database

Status
Niet open voor verdere reacties.

birre69

Nieuwe gebruiker
Lid geworden
12 jan 2007
Berichten
3
Edit : mijn excuses, moest in Java gepost worden ipv Javascript. Wat een binnenkomer :(

Dag,

Ik zit met een enorm vervelend probleem. Ik ben bezig een kleine webapplicatie in NetBeans te maken, waar een soort blogsysteem zal gebruikt worden. Er zullen nieuwsberichten op de database geplaatst worden, en mijn volgende stap is deze dynamisch te tonen.

Nu stoot ik door mijn beperkte ervaring op een heel vervelend probleem waar ik maar geen oplossing weet voor te vinden :
Indien iemand een nieuwsbericht wil plaatsen zoals : dit is nieuwsbericht "nummer 1" , dus inclusief de dubbele aanhalingstekens, dan zal de insert-command in mijn access-database een foutmelding geven.

Ik weet dat met een '\' gewerkt moet worden om in Java een dubbele aanhalingsteken als een werkelijke character te plaatsen, maar ik vind maar geen oplossing om dit ook naar mijn database correct te schrijven.


html pagina
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Fashion Palace</title>
<link href="styles/layout.css" rel="stylesheet" type="text/css" >
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
//javascript voor het controleren op lege waardes
    function checkForm() {
        if (document.plaats_nieuws.onderwerp.value == "") || document.plaats_nieuws.bericht.value == "") {
            alert('gelieve zowel onderwerp als bericht in te vullen');
            return false;
        }
        else
        {
            return true;
        }
    }
</script>
</head>
<body>
	<div class="header"></div>
	<div class="menu"><table class="menu_t"><tr><td><a href="/index.htm">Index</a></td></tr><tr><td>Page 2</td></tr><tr><td>Pagina 3</td></tr><tr><td>Titel 4</td></tr></table>
	</div>
	<div class="up_page">
	<div class="page_i"><div class="content">
	<form name="plaats_nieuws" method="post" onsubmit="return checkForm()" action="nieuwsServlet.do" >
	<center><img src="./img/titel_nieuws.gif"></center>
	<table>
	<tr><td><i>Onderwerp : </i></td><td><input name="onderwerp" type="text" size="54" maxlength="40"></td></tr>
	<tr><td><i>Bericht : </i></td><td><textarea name="bericht" rows="10" cols="50"></textarea></td></tr>
	<tr><td height="53"></td>
	<td><input type="submit" name="submit" value="Posten maar!">      <input type="reset" value="Wis"></td></tr>
	</table>
	</form>
	</div>
	<div class="down_page"></div>
	</div>
	</div>
</body>
</html>


Servlet die geladen zal worden na het drukken op de knop 'Posten' op mijn nieuwsbericht-pagina :
Code:
public class nieuwsServlet extends HttpServlet {
    
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

        //zal de tekst van het onderwerp ophalen
        String onderwerp = request.getParameter("onderwerp");
        //zal de tekst van het bericht ophalen
        String bericht = request.getParameter("bericht");
        
[B]!!!!!hier zou ik graag de dubbele aanhalingstekens van zowel onderwerp als bericht 
zo maken, zodat deze naar de database geschreven kunnen worden!!!!!!!!!!!!![/B]

        //zal een nieuwe nieuwsBean maken waarin onderwerp en bericht in opgeslagen zullen worden
        nieuwsBean nb = new nieuwsBean(onderwerp,bericht);
        //de connectie zal beheerd worden door een aparte ConnectionManager
        ConnectionManager cn= (ConnectionManager) getServletContext().getAttribute("connection");

        //er zal een nieuwe databaseklasse gemaakt worden, die de opslag en update
       // van nieuwsberichten zal verzorgen
        nieuwsDB nd = new nieuwsDB(cn.getConnection());
        //de klasse 'addNieuws' zal nieuws in de database toevoegen
        nd.addNieuws(nb);
        //na opslaan, terugsturen naar index
        response.sendRedirect("index.htm");    
    }

AddNieuws methode uit de nieuwsDB klasse :
Code:
    public void addNieuws(nieuwsBean nb) {
        PreparedStatement stmt = null;

        
        try
        {      
            //onderwerp uit de nieuwsberichtBean halen
            String onderwerp = nb.getOnderwerp();
            //bericht uit de nieuwsberichtBean halen
            String bericht = nb.getBericht();

            //insert commando 
            stmt = con.prepareStatement("INSERT INTO tblNieuws ( Onderwerp, Bericht) VALUES ('"+onderwerp+"','"+bericht+"')");     
            //uitvoeren insert commando
            stmt.execute();  
            ResultSet r = stmt.getResultSet();          
        }
        catch(SQLException sqle)
        {          
            System.out.println(sqle.getMessage());
        }
        finally
        {
            try
            {
                stmt.close();
            }
            catch(SQLException sqle)
            {
                System.out.println(sqle.getMessage());
            }
        }
    }


Heeft iemand een oplossing? Ik zoek er mij al suf op :confused:

Bedankt!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan