Hej
Mit forslag er at du erstatter alle "ulovlige" tegn inden du gemmer dem i
databasen.
Jeg ville gøre således:
SQLQuery = SQLQuery & "'" & replace(Avdeling,"'","(et eller andet andet tegn)")
& "',"
Når du så gemmer dem i databasen gemmer du "ulovlige" tegn som et andet gyldigt
tegn evt. i kombination med en kode f.eks. kunne "pling" bertyde en ' - når du
så skal have det vist på din website så erstatter du tilbage igen.
Rasmus Pedersen
Rune Brynestad wrote in dk.edb.internet.webdesign.serverside.asp:
> Jeg har laget et ASP script som legger data fra et skjema inn i en Access
> database. Alle felt i tabellen er tekst- eller notatfelt. Problemet er at
> sluttbrukeren av og til kan finne på å legge inn tegnet ' i et av
> skjemafeltene, og det skaper problemer. Er det mulig på en eller annen måte
> å formatere feltet til å godta ' tegnet også? (Vanlig anførselstegn "
> skaper ikke problem).
>
> Koden:
>
> <%
> Option Explicit
>
> Dim Conn
> Dim SQLQuery
>
> Dim Avdeling
> Dim Saksbehandlar
> Dim Namn
> Dim Kundegruppe
> Dim Laanebelop
> Dim Tilbod_fra_oss
> Dim Laanesituasjon
> Dim Ny_bank
> Dim Rente_ny_bank
> Dim Kommentar
>
> Avdeling = Request("Avdeling")
> Saksbehandlar = Request("Saksbehandlar")
> Namn = Request("Namn")
> Kundegruppe = Request("Kundegruppe")
> Laanebelop = Request("Laanebelop")
> Tilbod_fra_oss = Request("Tilbod_fra_oss")
> Laanesituasjon = Request("Laanesituasjon")
> Ny_bank = Request("Ny_bank")
> Rente_ny_bank = Request("Rente_ny_bank")
> Kommentar = Request("Kommentar")
>
> SQLQuery = "INSERT INTO Laan (Avdeling, Saksbehandlar, Namn, Kundegruppe,
> Laanebelop, Tilbod_fra_oss, Laanesituasjon, Ny_bank, Rente_ny_bank,
> Kommentar) VALUES ("
>
> SQLQuery = SQLQuery & "'" & Avdeling & "',"
> SQLQuery = SQLQuery & "'" & Saksbehandlar & "',"
> SQLQuery = SQLQuery & "'" & Namn & "',"
> SQLQuery = SQLQuery & "'" & Kundegruppe & "',"
> SQLQuery = SQLQuery & "'" & Laanebelop & "',"
> SQLQuery = SQLQuery & "'" & Tilbod_fra_oss & "',"
> SQLQuery = SQLQuery & "'" & Laanesituasjon & "',"
> SQLQuery = SQLQuery & "'" & Ny_bank & "',"
> SQLQuery = SQLQuery & "'" & Rente_ny_bank & "',"
> SQLQuery = SQLQuery & "'" & Kommentar & "')"
>
> Set Conn = Server.CreateObject ("ADODB.Connection")
> Conn.Open "DSN=Rapportering"
>
> Conn.Execute(SQLQuery)
> %>
>
> Data som sluttbrukeren taster inn:
>
> Avdelingsbank: Gaular
> Saksbehandlar: NN
> Namn på kunde NN
> Kundegruppe: 35 og over
> Lånebeløp: 100.000
> Tilbod frå oss: 8,15 til 1.560' 9,75 over (Det er ' tegnet i dette feltet
> som skaper problemet)
> Lånesituasjon: Refinansiering
> Ny Bank: Fokus
> Rente i ny bank: 7,95
> Kommentar: Pris
>
>
> Feilmeldingen:
>
> HTTP 500.100 - Internal Server Error - ASP error
> Internet Information Services
>
> ----------------------------------------------------------------------------
> ----
>
> Technical Information (for support personnel)
>
> a.. Error Type:
> Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator)
> in query expression ''8,15 til 1.560' 9'.
> /marknad/Rapportering/tap_av_laanekundar2.asp, line 46
>
>
> Håper at noen kan hjelpe
>
> Mvh
> Rune Brynestad
> Sparebanken Sogn og Fjordane
>
>
>
>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagoiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials