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??
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
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") & "')"
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 %>
21. april 2004 - 07:58
#3
sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES (" & session("Kundenummer") & ")
21. april 2004 - 07:59
#4
Hvis kundenummer er integer eller lignende
21. april 2004 - 07:59
#5
sqlAdd = "INSERT INTO ordre(Kundenummer) VALUES (" & session("Kundenummer") & ")" Sådan sorry
21. april 2004 - 08:28
#7
Har du en tabel der hedder 'Fsp_bogen'
21. april 2004 - 08:34
#8
xinux>>Er väk i en halv time.
21. april 2004 - 08:35
#9
Ja, eller dvs. det er en forespørgsel.
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.
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'
21. april 2004 - 09:11
#12
Der skal lige mellemrum mellem ordre og (kundnummer) sqlAdd = "INSERT INTO ordre (Kundenummer) VALUES (" & session("Kundenummer") & ")"
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
21. april 2004 - 09:14
#14
Vi får stadig samme fejl.. i Linie 13..
21. april 2004 - 09:17
#15
Session virker fint med Response.Write...
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
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.
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
21. april 2004 - 09:25
#19
Absolut...
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
21. april 2004 - 09:51
#21
Du skal have en end if efter next
21. april 2004 - 10:00
#22
Ja, ok. Det virker nu mange tak for hjælpen, så hvis du lige gider svare.
21. april 2004 - 10:02
#23
Svar.
21. april 2004 - 10:30
#24
Tak for points.
Kurser inden for grundlæggende programmering