Avatar billede xinux Nybegynder
21. april 2004 - 07:32 Der er 23 kommentarer og
1 løsning

Fra Session til database

Jeg sidder og er i gang med at lave det sidste af en bogshop i ASP ved hjælp af en Access database.

Jeg har 2 sessions den ene indholder Kundernummer og den anden vareoplysninger.

Kundenummer skal skrives til en ordre tabel i databasen.

Vareoplysningerne skal skrives til en ordrelinie tabel, sammen med et autonummereret ordreid som hentes i ordre tabellen.

Hvordan får jeg oplysningerne ud af mine Sessions, igen, for derefter at tilføje dem som nævnt ovenfor??
Avatar billede Slettet bruger
21. april 2004 - 07:37 #1
du kalder dem bare med samme variabelnanv, som du har oprettet dem med..


sql = "insert into bruger (navn,adresse,tlfnr) values ('" & session("kunde_navn") & "','" & session("kunde_adresse") & "','" & session("kunde_tlfnr") & "')"
Avatar billede xinux Nybegynder
21. april 2004 - 07:50 #2
Jeg har prøvet med følgende, men siden viser en HTTP 500 Serverfejl????

<%
sub openConn()
    'use appropriate connection string
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("db/database.mdb")

    Set dbc = Server.CreateObject("ADODB.Connection")
    dbc.open strConn
end sub

    sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES ('" & session("Kundenummer") & "')
       
    call openConn()
    dbc.execute sqlAdd, intAffected
   
    dbc.close
    set dbc = nothing
%>
Avatar billede michael_stim Ekspert
21. april 2004 - 07:58 #3
sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES (" & session("Kundenummer") & ")
Avatar billede michael_stim Ekspert
21. april 2004 - 07:59 #4
Hvis kundenummer er integer eller lignende
Avatar billede michael_stim Ekspert
21. april 2004 - 07:59 #5
sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES (" & session("Kundenummer") & ")"
Sådan sorry
Avatar billede xinux Nybegynder
21. april 2004 - 08:22 #6
Jeg kan ikke få det til at virke.

Du kan se shoppen på følgende adresse (vælg internet i kategorien)

http://www.rasmusaagaard.dk/shop/

og asp-filerne ligger under http://www.rasmusaagaard.dk/eksperten/ med samme navn, men i txt filer (eks. http://www.rasmusaagaard.dk/eksperten/checkout.txt )

Kan du se hvad fejlen er?
Avatar billede michael_stim Ekspert
21. april 2004 - 08:28 #7
Har du en tabel der hedder 'Fsp_bogen'
Avatar billede michael_stim Ekspert
21. april 2004 - 08:34 #8
xinux>>Er väk i en halv time.
Avatar billede xinux Nybegynder
21. april 2004 - 08:35 #9
Ja, eller dvs. det er en forespørgsel.
Avatar billede fennec Nybegynder
21. april 2004 - 08:35 #10
hvis du ser en HTTP 500 Serverfejl, så slå denne fra i IE (hvis du bruger IE, vel at mærke)

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "ved meddelelse om uskadelige http-fejl"

Så får du de rigtige fejlmeddelser.
Avatar billede xinux Nybegynder
21. april 2004 - 09:08 #11
alle sider undtagen process.asp virker efter hensigten..

<%
sub openConn()
    'use appropriate connection string
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("db/libris.mdb")

    Set dbc = Server.CreateObject("ADODB.Connection")
    dbc.open strConn
end sub

    sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES (" & session("Kundenummer") & ")"
           
    call openConn()
    dbc.execute sqlAdd, intAffected
   
    dbc.close
    set dbc = nothing
%>

Vi får en fejl i linie 13 - Object required: 'dbc'
Avatar billede michael_stim Ekspert
21. april 2004 - 09:11 #12
Der skal lige mellemrum mellem ordre og (kundnummer)
sqlAdd = "INSERT INTO ordre (Kundenummer) VALUES (" & session("Kundenummer") & ")"
Avatar billede michael_stim Ekspert
21. april 2004 - 09:12 #13
Pröv også at skrive dine sessions ud samt sql-stringen med response.write, hvis det stadig ikke virker
Avatar billede xinux Nybegynder
21. april 2004 - 09:14 #14
Vi får stadig samme fejl.. i Linie 13..
Avatar billede xinux Nybegynder
21. april 2004 - 09:17 #15
Session virker fint med Response.Write...
Avatar billede fennec Nybegynder
21. april 2004 - 09:19 #16
hvad siger din SQL-streng hvis du skriver den ud???

sqlAdd = "INSERT INTO ordre (Kundenummer) VALUES (" & session("Kundenummer") & ")"
Response.Write sqlAdd
Avatar billede xinux Nybegynder
21. april 2004 - 09:24 #17
Vi har fået til at virke med den ene session nu, men er det ikke iorden hvis vi venter med at acceptere til, det hele virker?

Foreløbig tak for hjælpen.
Avatar billede michael_stim Ekspert
21. april 2004 - 09:25 #18
Pröv at initiere objectet först og se om det hjälper. Det er jo det den klager over.

sub openConn()
    'use appropriate connection string
    Set dbc = Server.CreateObject("ADODB.Connection")
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("db/libris.mdb")
    dbc.open strConn
end sub
Avatar billede michael_stim Ekspert
21. april 2004 - 09:25 #19
Absolut...
Avatar billede xinux Nybegynder
21. april 2004 - 09:41 #20
Vi har kommenterert den del af koden ud der virker, men vi får nu fejl i følgende kode (process.asp):

<!-- #include file="database.asp" -->
<!-- #include file="functions.asp" -->
<%


    'sqlAdd = "INSERT INTO ordre (Kundenummer) VALUES (" & session("Kundenummer") & ")"
           
    'call openConn()
    'dbc.execute sqlAdd, intAffected
   
Dim arrCart, scartItem
    arrCart = Session("MyCart")
    scartItem = Session("cartItem")

        Dim oid, sqlo
        sqlo = "SELECT max(ordrenummer) FROM ordre"
        Set rso = dbc.Execute(sqlo)   
        oid = Cint(rso(0))
        rso.Close
       
        If oid < 1 Then
            call closeConn()
            Response.Redirect "error.asp?msg=" & Server.URLEncode ("Error: No order id.")
        Else
            'insert order items into oitems table
            For i = 1 To scartItem
                sqlOItem = "INSERT INTO ordrelinie (ordrenummer,bogId,Antal) VALUES ("
                sqlOItem = sqlOItem & oid
                sqlOItem = sqlOItem & "," & arrCart(cProductid,i)
                sqlOItem = sqlOItem & "," & arrCart(cQuantity,i)
                sqlOItem = sqlOItem & ")"
                dbc.execute sqlOItem
            Next
   
    dbc.close
    set dbc = nothing
%>

Fejl:
Microsoft VBScript compilation error '800a03f6'

Expected 'End'

/shop/functions.asp, line 17
Avatar billede michael_stim Ekspert
21. april 2004 - 09:51 #21
Du skal have en end if efter next
Avatar billede xinux Nybegynder
21. april 2004 - 10:00 #22
Ja, ok. Det virker nu mange tak for hjælpen, så hvis du lige gider svare.
Avatar billede michael_stim Ekspert
21. april 2004 - 10:02 #23
Svar.
Avatar billede michael_stim Ekspert
21. april 2004 - 10:30 #24
Tak for points.
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