Ga naar inhoud

[access][asp] apostrof in record


Aanbevolen berichten

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
Link naar reactie
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
Link naar reactie
: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...
Link naar reactie
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) %>
Link naar reactie
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]
Link naar reactie
:-? 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.
Link naar reactie
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]
Link naar reactie
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)
Link naar reactie
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?!
Link naar reactie
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.
Link naar reactie
<!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)
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...