/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ASP og Access - Problem med tegnet '
Fra : Rune Brynestad


Dato : 01-08-01 07:39

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:

Tap av lånekundar PM

Det er viktig å få tilbakemelding når vi taper lånekundar, slik at vi
fortløpande kan vurdere eventuelle mottiltak.
Dette skjemaet skal nyttast når eksisterande kundar i Sparebanken Sogn og
Fjordane, som har fått eit lånetilbod frå oss, vel å ta opp eit lån i ein
annan bank.


Avdelingsbank Velg avdelingskontor Askvoll Balestrand Florø Førde
Gaular Gloppen Gulen Hornindal Hyllestad Høyanger Jølster Leikanger Måløy
Naustdal Sogndal Solund Stryn FA
Saksbehandlar
Namn på kunde
Kundegruppe ---Velg kundegruppe-- 18-25 26-34 35 og over
Lånebeløp
Tilbod frå oss (nominell/effektiv rente) (Det er ' tegnet i dette
feltet som skaper problemer)
Lånesituasjon ---Velg lånesituasjon-- Nytt lån Refinansiering
Ny bank
Rente i ny bank (dersom dette er kjent)
Kommentar (kva var avgjerande for kunden sitt val ?)
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





 
 
Asbjørn Ulsberg (01-08-2001)
Kommentar
Fra : Asbjørn Ulsberg


Dato : 01-08-01 07:52

"Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> skrev:
> Problemet er at sluttbrukeren av og til kan finne på å legge
> inn tegnet ' i et av skjemafeltene, og det skaper problemer.

Dette er et kjent og vanlig problem og må løses med funksjonen
Replace().

> Avdeling = Request("Avdeling")

Her gjør du ikke forskjell på Request.QueryString() og
Request.Form(), noe som i visse tilfeller ikke er så
veldig lurt. Putt inn Replace() i setningen (og alle de
andre) så vil den fungere mye bedre;

Avdeling = Replace(Request.Form("Avdeling"), Chr(39), Chr(96))

Jeg bruker Chr(39) i stedet for "'" og Chr(96) i stedet
for "`", da jeg liker det best. Hva du gjør og hva du
velger å bytte ut "'" (Chr(96)) med er ditt eget valg.
Jeg synes ` er en god erstatning.. Alternativt kan du
fjerne alle fnutter (') ved å erstatte dem med ingenting;
Replace(..., Chr(39), "").

--
Mvh
Asbjørn Ulsberg
asbjorn@tigerstaden.no
"He is a loathsome offensive brute, yet I can't look away."



Tez (01-08-2001)
Kommentar
Fra : Tez


Dato : 01-08-01 08:29

> Dette er et kjent og vanlig problem og må løses med funksjonen
> Replace().

Når ein er først inne på emnet...

For å legge inn ei kontroll-rutine på at ein string inneholder berre tall,
eller berre bokstaver, kva måter kan ein løyse det på?


Mvh,

Terje Sørbø



Rune Brynestad (02-08-2001)
Kommentar
Fra : Rune Brynestad


Dato : 02-08-01 07:57

Glimrende løsningsforslag. Tusen takk for hjelpen.

Mvh
Rune Brynestad
Sparebanken Sogn og Fjordane


"Asbjørn Ulsberg" <asbjorn@tigerstaden.no> skrev i melding
news:9k88uc$ei8$1@oslo-nntp.eunet.no...
> "Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> skrev:
> > Problemet er at sluttbrukeren av og til kan finne på å legge
> > inn tegnet ' i et av skjemafeltene, og det skaper problemer.
>
> Dette er et kjent og vanlig problem og må løses med funksjonen
> Replace().
>
> > Avdeling = Request("Avdeling")
>
> Her gjør du ikke forskjell på Request.QueryString() og
> Request.Form(), noe som i visse tilfeller ikke er så
> veldig lurt. Putt inn Replace() i setningen (og alle de
> andre) så vil den fungere mye bedre;
>
> Avdeling = Replace(Request.Form("Avdeling"), Chr(39), Chr(96))
>
> Jeg bruker Chr(39) i stedet for "'" og Chr(96) i stedet
> for "`", da jeg liker det best. Hva du gjør og hva du
> velger å bytte ut "'" (Chr(96)) med er ditt eget valg.
> Jeg synes ` er en god erstatning.. Alternativt kan du
> fjerne alle fnutter (') ved å erstatte dem med ingenting;
> Replace(..., Chr(39), "").
>
> --
> Mvh
> Asbjørn Ulsberg
> asbjorn@tigerstaden.no
> "He is a loathsome offensive brute, yet I can't look away."
>
>



Tez (01-08-2001)
Kommentar
Fra : Tez


Dato : 01-08-01 08:04


"Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> skrev i melding
news:guN97.5344$em.181423@juliett.dax.net...
> 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).

Det ein kan gjere er å gå gjennom stringen, teikn for teikn. Ein måte å
gjere det på er å lage ein funksjon som behandler den aktuelle stringen:

uformatert = "Per's og Freddy's"
formatert = FiksTeikn(uformatert)

Function FiksTeikn(byval strString)
Dim intIndex
intIndex = Instr(strString, "'")
While intIndex > 0
strString = Mid(strString,1,intIndex) & "'" &
Mid(strString,intIndex+1)
intIndex = InStr(intIndex+2, strString, "'")
Wend
FiksTeikn = strString
End function

Ein kan etter alt sannsyn gjere dette i eit javascript også, men det er jo
ei anna newsgruppe samt sak


Mvh,
Terje Sørbø



R. Stormo (01-08-2001)
Kommentar
Fra : R. Stormo


Dato : 01-08-01 20:15


"Rune Brynestad" <rune.brynestad@fylkesbanken.sf.no> wrote in message
news:guN97.5344$em.181423@juliett.dax.net...
> 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:

Mange fine løsninger men enkelt gjøres det
med Replace(variable,"'","''")
--------------------------^^ 2 fnutter


R. Stormo



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste