Avatar billede natsprinter Nybegynder
28. oktober 2005 - 15:08 Der er 3 kommentarer og
1 løsning

Når Localhost ikke gør det samme som Webserveren

Hej

Jeg har følgende lille kode:

'Opret en ny post i databasen og indsæt IP på klientens computer
conn.execute("insert into svar (ip) values ('"&request.ServerVariables("LOCAL_ADDR")&"') ")

' hent id fra den nye post og gem den i en session
set db = conn.execute("select max(id) as maxID from svar")
session("id") = db("maxID")


Det her fungerer fint på min lokalhost, men når jeg uploader til serveren returneres MAX id ikke. Faktisk oprettes deer slet ikke en post på serveren - men derfor skulle der jo alligevel være en max(id) at hente i tabellen.

Det første jeg checkede var om stien til databasen var ok - det er den  - der er noget andet lusk i spil som jeg ikke rigtig kan greje ?????????
Avatar billede keysersoze Ekspert
28. oktober 2005 - 15:30 #1
Når man skal have id'et ud på en netop indsat post plejer man at bruge @@IDENTITY - tag et kig her; http://activedeveloper.dk/artikler/default.asp?articleid=291

Hvis ikke der indsættes i databasen eller noget må der opstå en fejl eller lignende - der kan sagtens være lidt forskel i script-udførelse på en server til en anden, men en server springer ikke koden over. er der problemer i andet asp på din side?
Avatar billede natsprinter Nybegynder
28. oktober 2005 - 15:39 #2
Jeg kender godt @@identity, men jeg syntes nu at select max(id) as maxID er langt smartere at bruge. Det kræver ikke så meget kode, og virker hver gang.

Der er noget lusk i spil i dette til fælde, jeg har brugt metoden så ofte, og det der plager mig er at det virker på min egen server og ikke på wannafinds server???
Avatar billede keysersoze Ekspert
28. oktober 2005 - 15:50 #3
men opstår der en fejl eller hvad? Hvis ikke der kommer noget i databasen og der ikke kommer en fejl lyder det som om enten at filen ikke eksekveres eller at den tolkes som html.

mht @@identity og max() så glemmer du en vigtig ting - nemlig sikkerheden. hvis du tager max så kan du risikere at der byttes om på to poster hvis disse to sættes ind samtidig - det undgår du med @@identity... og rent faktisk kan @@identity også skrives med lige så lidt kode og på 2 linier hvis man ligesom du (umiddelbart i hvert fald gør) ikke lukker rs.
Avatar billede natsprinter Nybegynder
28. oktober 2005 - 16:06 #4
Problemet er løst - jeg havde gemt min forespørgsel bag en if sætning, så den blev aldrig udført. Hvorfor det sker på min lokale Host ved ingen ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester