anoniem Geplaatst: 18 mei 2002 Delen Geplaatst: 18 mei 2002 Beste mensen, Ik was even op zoek in het forum naar een oplossing voor het apostrof in een record. Hoe ging het ook alweer? Ik heb het een keer gelezen ergens maar ik kon het niet terug vinden. Ik werk met ASP en ACCESS, zodra ik de ' uit mijn tekst haal voegd hij hem dus wel in. Kan iemand me helpen!? Bedankt Quote Link naar reactie
anoniem Geplaatst: 18 mei 2002 Auteur Delen Geplaatst: 18 mei 2002 als je er 1 omruild voor 2 wordt ie opgeslagen :) Replace(msAccessTekst,"'","''") Quote Link naar reactie
anoniem Geplaatst: 18 mei 2002 Auteur Delen Geplaatst: 18 mei 2002 Oke, en waar moet ik dat in mijn script plaatsen? ik geef ff mijn script hieronder.. [code:1:fe5dc73508] <% Dim Myconnection Dim Myrecordset Set Myconnection = server.createobject ("ADODB.Connection") Set Myrecordset = server.createobject ("ADODB.recordset") Dim MySQLstatement MySQLstatement = "INSERT INTO Nieuws (Nieuwsonderwerp, Nieuwsbericht)" _ & "VALUES ('" _ & request ("paramonderwerp") & "','" _ & request ("parambericht") & "')" Call Myconnection.open ( _ "Driver={microsoft Access Driver (*.mdb)};" & _ "DBQ=" & DB_FILE) Call Myrecordset.open (MySQLstatement, Myconnection) %> [/code:1:fe5dc73508] Het gaat hier om het veld, Nieuwsbericht. Bedankt Quote Link naar reactie
anoniem Geplaatst: 18 mei 2002 Auteur Delen Geplaatst: 18 mei 2002 kan niemand mij ff helpen dan?! Ik weet niet hoe ik dat moet verwerken.. Quote Link naar reactie
anoniem Geplaatst: 18 mei 2002 Auteur Delen Geplaatst: 18 mei 2002 Doen we gewoon even rustig vriend? Je moet niet verwachten dat je binnen een uur antwoord krijgt... Quote Link naar reactie
anoniem Geplaatst: 18 mei 2002 Auteur Delen Geplaatst: 18 mei 2002 :roll: Sorry hoor, maar ik ben ermee bezig en het wil de hele dag al niet lukken.. En ik heb dit forum en een ander forum al afgezocht...ik wil gewoon graag het antwoord, en als je dan ziet dat het al 30 keer bekeken is, en nog steeds maar 1 antwoord hebt gehad is dat soms een beetje frustie...maar nogmaals mijn excusses.... ps. Noem me maar gewoon Remco... Quote Link naar reactie
anoniem Geplaatst: 19 mei 2002 Auteur Delen Geplaatst: 19 mei 2002 Neem onderstaande code maar over............ <% FUNCTION fixQuotes( theString) fixQuotes = REPLACE( theString, "'", "''" ) END FUCTION Dim Myconnection Dim Myrecordset Set Myconnection = server.createobject ("ADODB.Connection") Set Myrecordset = server.createobject ("ADODB.recordset") HIER............. paramonderwerp = request ("paramonderwerp") parambericht= request ("parambericht") Dim MySQLstatement MySQLstatement = "INSERT INTO Nieuws (Nieuwsonderwerp, Nieuwsbericht)" _ & "VALUES ('" _ & fixQuotes("paramonderwerp") & "','" _ & fixQuotes("parambericht") & "')" Call Myconnection.open ( _ "Driver={microsoft Access Driver (*.mdb)};" & _ "DBQ=" & DB_FILE) Call Myrecordset.open (MySQLstatement, Myconnection) %> Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 hey, Bedankt voor je code, alleen werkt ie nog niet helemaal zoals het moet. Hij voegt nu niet de tekst in die ik invoer, maar hij voert nu paramonderwerp en parambericht in bij Nieuwsonderwerp en Nieuwsbericht. Wel snap ik nu waar je die functie kwijt moet. Dus we zijn er bijna..alvast weer bedankt. [code:1:bc28697c93] MySQLstatement = "INSERT INTO Nieuws (Nieuwsonderwerp, Nieuwsbericht)" _ & fixQuotes("paramonderwerp") & "','" _ & fixQuotes("parambericht") & "')" [/code:1:bc28697c93] Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 :-? hehe, paramonderwerp en parambericht moeten "variabelen" voorstellen, dus de dubbele aanhalingstekens zijn overbodig, mits je natuurlijk letterlijk "paramonderwerp" en "parambericht" in je databank wilt zetten. Deze functie: 'Function: FixQuotes 'Input: vData ,string 'Output: string 'retourneerd de megegeven waarden 'met 2 enkele aanhalingstekens ipv. 1 'zodat het SQL statement geldig blijft '------------------------------------------ Function FixQuotes(byval vData) FixQuotes = Replace(vData,"'","''") End Function '------------------------------------------ Deze functie moet je altijd gebruiken bij SQL statements met variabelen. Als je dit niet doet, dan kan en zal jouw aplicatie makkelijk foutmeldingen tonen,bv. als een gebruiker een nieuwsbericht plaats met enkele aanhalingstekens. Tip! Maak ook gebruik van "Server.HTMLEncode", als je waardes uit een formulier ophaalt, als je dit niet doet kan het formulier ongeldig worden, door dubbele aanhalingstekens als je waardes uit de database naar het formulier toe schrijft, om bv. een "nieuwsbericht" aan te passen. Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 Bedankt mensen, Ik snap nu heel goed hoe het zit en wat ik moet doen. Hij werkt inmiddels en ik ben jullie dankbaar. Ik leer steeds meer en ik hoop zo ook weer anderen te helpen. Ik geef hier onder nog even de goede code zonder fouten. Oh ja, ik heb zelf inmiddels ook de functie aangepast zodat de enters ook gewoon terug komen in de tekst! [code:1:ae6a5bd6f5] <% FUNCTION fixQuotes( theString) fixQuotes = REPLACE( theString, "'", "''") fixQuotes = REPLACE( fixQuotes, vbCrLf, "<BR>") END FUNCTION Dim Myconnection Dim Myrecordset Set Myconnection = server.createobject ("ADODB.Connection") Set Myrecordset = server.createobject ("ADODB.recordset") paramonderwerp = request ("paramonderwerp") parambericht= request ("parambericht") Dim MySQLstatement MySQLstatement = "INSERT INTO Nieuws (Nieuwsonderwerp, Nieuwsbericht)" _ & "VALUES ('" _ & fixQuotes(paramonderwerp) & "','" _ & fixQuotes(parambericht) & "')" Call Myconnection.open ( _ "Driver={microsoft Access Driver (*.mdb)};" & _ "DBQ=" & DB_FILE) Call Myrecordset.open (MySQLstatement, Myconnection) %> [/code:1:ae6a5bd6f5] Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 ik zal je bij deze nog ff corrigeren als je het niet erg vind? (retorisch :)) Nu heb je de naam van de functie teniet gedaan. Je fixed jouw quotes voor een geldig SQL statement, en tevens fix je de vbCrlf voor jouw response display. Dit wil je apart houden :) De <br> is alleen nodig in jouw response als je dit wilt. En je kan dan ook nog kiezen of je de tekst in niet beter in een <pre> kunt zetten. (een <pre> mag in andere tags voorkomen en geeft enters weer) Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 hey, ik heb mijn tekst tussen de <pre> gehad, maar dan geeft ie overal een extra blanco regel tussen en dat is niet wat ik wil. Zoals ik hem nu heb doet hij 2 dingen goed, de ' worden netjes opgeslagen in de database, en de enters die ik in een tekst geef, worden ook netjes opgeslagen en weer weergeven als ik de tekst uit de database haal. Is er nog een andere oplossing dan?! Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 de extra enters krijg je omdat je ipv "vbCrlf", "<br>" hebt opgeslagen, als je deze eruit filtert dan werkt het perfekt. Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 met die functie doe je nu 2 aparte dingen het is beter als je deze opsplitst in 2 functies. 1. Je maakt een variabele SQL compatibel 2. Je verwijderd "carriage return + linefeed" voor <br> Dat is ongeveer hetzelfde als fietswielen onder een auto monteren en kijken hoe lang het goed gaat :) ..met andere woorden dit is niet logisch. Quote Link naar reactie
anoniem Geplaatst: 21 mei 2002 Auteur Delen Geplaatst: 21 mei 2002 haha oke, ik snap het..dus eigenlijk moet ik dezelfde functie nog een keer doen, maar dan met de enter functie. Quote Link naar reactie
anoniem Geplaatst: 22 mei 2002 Auteur Delen Geplaatst: 22 mei 2002 beetje off-topic misschien, maaruh, is <pre> niet een beetje deprecated :-? Quote Link naar reactie
anoniem Geplaatst: 23 mei 2002 Auteur Delen Geplaatst: 23 mei 2002 <!ENTITY % pre.content "(#PCDATA | a | br | span | bdo | map | tt | i | b | %phrase; | %inline.forms;)*"> <!--=================== Preformatted Text ================================--> <!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> <!ELEMENT pre %pre.content;> <!ATTLIST pre %attrs; xml:space (preserve) #FIXED 'preserve' > vers uit de DTD van w3c (xhtml1 strict) http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd hij is er nog wel :) (css --> white-space:pre zou dit opvolgen maar werkt niet in 1 versie van IE) Quote Link naar reactie
anoniem Geplaatst: 24 mei 2002 Auteur Delen Geplaatst: 24 mei 2002 Persoonlijk zou ik er voor kiezen om de enters pas te vervangen op het moment dat je de tekst weergeeft ipv als je de tekst wegschrijft in de db. Dat werkt handiger als je b.v. een edit functie wil hebben.. Maarja, da's volgen mij meer een persoonlijke keuze.. Elja Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen