---
title: "Fnuttar till tusen"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/14036-fnuttar-till-tusen"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "KoTTeN"
published: "2002-01-27T15:24:00.000Z"
updated: "2002-01-27T16:43:00.000Z"
replies: 3
views: 228
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/14036-fnuttar-till-tusen"
---

# Fnuttar till tusen

## #1 — KoTTeN, 2002-01-27T15:24Z

Hallå igen! Nu ska jag försöka förklara något som inte ens jag kommer förstå men men… 
Jag har en tabell i databasen där en kolumn är avsedd för längre texter (PM). Via ett formulär lägger man till data i tabellen. Jag har en funktion som gör om enkelfnuttar (’) till dubbla enkelfnuttar (’’) innan den läggs in och tvärt om när jag hämtar ut datan från databasen. 

Det funkar ju bra, men om jag skriver in en dubbelfnutt (”) blir det fel, så testade jag att göra en liknande funktion som gör om dubbelfnuttar till dubbla dubbelfnuttar (Är det någon som hänger me här?). Jag tycker koden borde se ut så här: 
strText = Replace(strText,""","""") 

Men då svarar nissen till datorn med: Oavslutad strängkonstant 
Är det någon som fattar? Om, vad ska jag göra? Har jag gjort helt fel?

Permalänk: https://www.webforum.nu/p/14036

## #2 — @nders, 2002-01-27T15:29Z

Nu förstår jag kanske inte riktigt problematiken, men för att använda dubbelfnuttar i en sträng så escapear du med en dubbelfnutt.

Alltså borde replacen se ut så här:

```
strText = Replace(strText,"""","""""")
```

Mvh,

Permalänk: https://www.webforum.nu/p/308443

## #3 — KoTTeN, 2002-01-27T16:17Z

Tack, men de funkar fortfarande inte. För om jag matar in detta i formuläret: Lite text, ”Mer” text. 
Då får man antingen detta fel:

```
]Microsoft JET Database Engine fel '80040e14' 
Syntaxfel (operator saknas) i frågeuttrycket 'ID ='. 
/gc2/crew/fusk.asp, rad 144
```

Eller så blir det inget felmedelande alls, utan datan läggs in i databasen, men bara biten före dubbelfnutten. Om vi använde exemplet ovan skulle de bli: Lite text, 
Den avbryter alltså när den stöter på en dubbelfnutt. Jag kan inte hitta ett mönster varför den ibland genererar fel och ibland inte.  

Koden för att lägga in uppdatera datan ser ut så här: 

```
<%
119&#0124; Function FixaTecken(strText) 
120&#0124; strText = Replace(strText,"'","''") 
121&#0124; strText = Replace(strText,"""","""""") 
122&#0124; FixaTecken = strText 
123&#0124; End Function 
%>
En massa massa kod
<%
142&#0124; Set RecSet = Server.CreateObject("ADODB.Recordset")			
143&#0124; visa = "UPDATE fusk SET fusk = '" &  FixaTecken(Request.Form("fusk")) & "' WHERE ID = " &  Request.Form("id") & ""
144&#0124; RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic  
146&#0124;
```

%\>

Nån som kan se varför det blir fel?

Permalänk: https://www.webforum.nu/p/308444

## #4 — LarsG, 2002-01-27T16:43Z

Det felet du får beror inte på något problem med replace utan på att Request.Form("id") är odefinierat.

Du kanske skickar det i querystring?

Det räcker om du ersätter ' med dubbla ' eftersom du använder ' som strängavgränsare i din sql-sats.

Permalänk: https://www.webforum.nu/p/308445

---

Tråden på webben: https://www.webforum.nu/amne/asp/14036-fnuttar-till-tusen
