/ 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
Gem redigeret data via en form og sql
Fra : Kasper Christensen


Dato : 19-11-03 21:08

Jeg har lavet en form til redigering af data i en db. det går fint med at
hente dataerne ind, men at få dem gemt under de rigtige id'er er straks
værre.

I min adresselinie står der til slut f.eks. dette redpressemedl.asp?id=3

hvordan får jeg fat i 3, så den ved at det skal smides i id 3 i m-db.

Jeg har prøvet med den traditionelle metode sql = "select * from
pressemeddelelser WHERE ID=" & strID, men den henter intet, men det er jo
også nærmere i adresselinien jeg skal have fat da id vel ikke ligger i
sessionen.

Håber nogen kan hjælpe.

--
-------------------------------------------------------------
Med venlig hilsen
Kasper Christensen
Multimediedesignerstuderende



 
 
Brian B. Christensen (19-11-2003)
Kommentar
Fra : Brian B. Christensen


Dato : 19-11-03 21:15

On Wed, 19 Nov 2003 21:07:42 +0100, "Kasper Christensen"
<news@REMOVEkasperc.dk> wrote:


>I min adresselinie står der til slut f.eks. dette redpressemedl.asp?id=3
>
>hvordan får jeg fat i 3, så den ved at det skal smides i id 3 i m-db.

ID_i_adresselinien = request("id")





Kasper Christensen (19-11-2003)
Kommentar
Fra : Kasper Christensen


Dato : 19-11-03 21:18


"Brian B. Christensen" <not_for_public@invalid.address> wrote in message
news:tnjnrvo9t5n474oka5m3lvbuvjui0auirs@4ax.com...
> On Wed, 19 Nov 2003 21:07:42 +0100, "Kasper Christensen"
> <news@REMOVEkasperc.dk> wrote:
>
>
> >I min adresselinie står der til slut f.eks. dette redpressemedl.asp?id=3
> >
> >hvordan får jeg fat i 3, så den ved at det skal smides i id 3 i m-db.
>
> ID_i_adresselinien = request("id")


Nu ser den sådanne ud:

strID = request("id") set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open
(Server.Mappath("../db/database.mdb")) set rs =
server.createobject("ADODB.recordset") sql = "select * from
pressemeddelelser WHERE ID=" & strID

men får følgende fejl:

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'ID='.
/aar/cms/opredpressemedl.asp, line 12



--
-------------------------------------------------------------
Med venlig hilsen
Kasper Christensen
Multimediedesignerstuderende



Brian B. Christensen (19-11-2003)
Kommentar
Fra : Brian B. Christensen


Dato : 19-11-03 21:24

On Wed, 19 Nov 2003 21:17:47 +0100, "Kasper Christensen"
<news@REMOVEkasperc.dk> wrote:

>> sql = "select * from pressemeddelelser WHERE ID=" & strID

Hvis id er et alphanumerisk felt, så prøv med

sql = "select * from pressemeddelelser WHERE ID='" & strID &"'"

altså en ' før og efter din strID variabel

Men skriv altid din sqlsætning ud med response.write, for at se
hvordan den ser ud.



Kasper Christensen (19-11-2003)
Kommentar
Fra : Kasper Christensen


Dato : 19-11-03 21:28


> >> sql = "select * from pressemeddelelser WHERE ID=" & strID
>
> Hvis id er et alphanumerisk felt, så prøv med
>
> sql = "select * from pressemeddelelser WHERE ID='" & strID &"'"
>
> altså en ' før og efter din strID variabel
>
> Men skriv altid din sqlsætning ud med response.write, for at se
> hvordan den ser ud.


Tak for hjælpen. Men det hjalp desværre ikke. id er autonummerisk fra
access.
--
-------------------------------------------------------------
Med venlig hilsen
Kasper Christensen
Multimediedesignerstuderende



Brian B. Christensen (19-11-2003)
Kommentar
Fra : Brian B. Christensen


Dato : 19-11-03 21:36

On Wed, 19 Nov 2003 21:28:26 +0100, "Kasper Christensen"
<news@REMOVEkasperc.dk> wrote:

>Tak for hjælpen. Men det hjalp desværre ikke. id er autonummerisk fra
>access.

Jamen, så gør som jeg skrev før

sæt dette ind lige efter sql = "......."

response.write sql

Og send så outputtet fra denne linie hertil. Så er det nemmer at løse.




Kasper Christensen (19-11-2003)
Kommentar
Fra : Kasper Christensen


Dato : 19-11-03 22:17

> Jamen, så gør som jeg skrev før
>
> sæt dette ind lige efter sql = "......."
>
> response.write sql
>
> Og send så outputtet fra denne linie hertil. Så er det nemmer at løse.


Jeg har løst det ved at lave et hidden felt hvor jeg overfører id.

Men tak for hjælpen.

Mvh

Kasper



Jesper Nielsen (20-11-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 20-11-03 05:53

> Jeg har løst det ved at lave et hidden felt hvor jeg overfører id.

Husk at lave noget check på dine data. Du skriver, at dit ID altid er
numerisk. Derfor bør du gøre dette:

Dim intId
intId = Trim(Request.[Form|QueryString]("id"))

If Not IsNumeric(intId) Then
' Din fejlhåndtering her
End If

Input validering er altid vigtigt - også selvom du kender de personer, som
skal indtaste dataene - der kan altid ske fejl.

Er det lige meget, om der bliver vist en pæn fejlbesked eller ej, hvis ID
indeholder andet end et tal, kan du nøjes med følgende:

Dim intId
intId = Int(Trim(Request.[Form|QueryString]("id")))

Indeholder ID så en alfanumerisk værdi, vil brugeren blive præsenteret med
en fejl á la
Microsoft VBScript runtime error: Type mismatch: '[string: "1a"]'

--
Mvh. Jesper



Jesper Nielsen (20-11-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 20-11-03 05:46

> ID_i_adresselinien = request("id")

Nej.
Dim intId
intId = Request.QueryString("id")

Du bør altid angive, hvor du ønsker at hente oplysningerne fra.

--
Mvh. Jesper



Brian B. Christensen (20-11-2003)
Kommentar
Fra : Brian B. Christensen


Dato : 20-11-03 08:34

On Thu, 20 Nov 2003 05:45:34 +0100, "Jesper Nielsen" <jn@nielsenit.dk>
wrote:

>Du bør altid angive, hvor du ønsker at hente oplysningerne fra.

Hej.

Ok, det var jeg ikke klar over. Bruger den anden måde og det fungerer
fint.

Men hvornår kan det gå galt?

Mvh. Brian

Jesper Nielsen (20-11-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 20-11-03 09:43

> Ok, det var jeg ikke klar over. Bruger den anden måde og det fungerer
> fint.
>
> Men hvornår kan det gå galt?

Der står lidt om det på <http://www.aspfaq.com/show.asp?id=2111>.

--
Mvh. Jesper



Brian B. Christensen (20-11-2003)
Kommentar
Fra : Brian B. Christensen


Dato : 20-11-03 10:05

On Thu, 20 Nov 2003 09:43:16 +0100, "Jesper Nielsen"
<jn@nielsenit.invalid> wrote:

>
>Der står lidt om det på <http://www.aspfaq.com/show.asp?id=2111>.

Tak for info. Selvom jeg ikke tror jeg vil rende ind i et problem, må
jeg heller begynde at gøre det alligevel.

Mvh. Brian

Jesper Nielsen (20-11-2003)
Kommentar
Fra : Jesper Nielsen


Dato : 20-11-03 11:00

> Tak for info. Selvom jeg ikke tror jeg vil rende ind i et problem, må
> jeg heller begynde at gøre det alligevel.

Under alle omstændigheder er det best practice

--
Mvh. Jesper



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

Månedens bedste
Årets bedste
Sidste års bedste