23. januar 2002 - 16:56
Der er
14 kommentarer og 1 løsning
Acess og ASP - DB connetion
JEG SKAL ÅPNE EN ACESS DATABASE, HVORDAN ER KODEN INN I DETTE SCRIPTET? Tabellen heter = tblOrdre og Databsen heter = database.mbd - HJELP! <% KID = Session("KID") error = "" ' Sjekk om handlekurven er tom... If Session("varer") < 1 Then error = error & "Du har ikke bestillt noen varer! " End If txtDato = Date() txtDato = Day( txtDato ) & "." & Month( txtDato ) & "." & Year( txtDato ) ' SKAL ÅPNE DATABASEN Set oRS=Server.CreateObject("ADODB.Recordset") ' Åpne Recordset oRS.Open "tblOrdre", Application("oConn"), _ adOpenKeyset, adLockOptimistic, adCmdTable ' Legg til ny ordre oRS.AddNew oRS("OKID") = KID oRS("ODato") = txtDato oRS("OStatus") = "P" oRS.Update ' Hente ut ordre id OID = oRS("OID") ' Lukke ordren oRS.Close oRS.Open "tblOrdreLinjer", Application("oConn"), _ adOpenKeyset, adLockOptimistic, adCmdTable For i=1 To Session("varer") oRS.AddNew oRS("OLOID") = OID oRS("OLPID") = Session("PID" & i) oRS("OLKvant") = Session("Antall" & i) oRS.Update Next oRS.Close If Err.number <> 0 Then %>En feil oppstod... Beklager, ordren din ble ikke registrert.<% Response.End End If Session.Abandon Response.Redirect("takk.asp") %>
Annonceindlæg fra Geoinfo
23. januar 2002 - 17:17
#1
Du kan f.eks. åbne databasen sådan her: connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.MapPath("\") & "\database.mdb;" Set conn = CreateObject("adodb.connection") conn.Open connStr
23. januar 2002 - 17:19
#2
Hvordan blir det inn i hele scriptet?
23. januar 2002 - 17:20
#3
Tabellen (recordsættet) henter du ud på denne måde: sqlstmt = "select * from tblOrdre" oRS.open sqlstmt, conn (evt. plus de specifikke parametre for hvordan du vil åbne recordsættet)
23. januar 2002 - 17:22
#4
... ' SKAL ÅPNE DATABASEN connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.MapPath("") & "database.mdb;" Set conn = CreateObject("adodb.connection") conn.Open connStr ' Åpne Recordset Set oRS=Server.CreateObject("ADODB.Recordset") sqlstmt = "select * from tblOrdre" oRS.open sqlstmt, conn - jeg finder lige parametrene, et øjeblik...
23. januar 2002 - 17:25
#5
Hva er egentlig dette da`? adOpenKeyset, adLockOptimistic, adCmdTable er ikke disse nødvendige lenger da?
23. januar 2002 - 17:25
#6
de parametre du har angivet ved åbningen af recordsættet svarer til disse tal: oRS.open sqlstmt, conn, 1, 3, 2
23. januar 2002 - 17:27
#7
så vidt jeg ved skal du selv angive tal-værdierne, med mindre du har gemt dem som konstanter med de navne...
23. januar 2002 - 17:28
#8
23. januar 2002 - 17:31
#9
BLIR DET SÅNN? <% KID = Session("KID") error = "" ' Sjekk om handlekurven er tom... If Session("varer") < 1 Then error = error & "Du har ikke bestillt noen varer! " End If txtDato = Date() txtDato = Day( txtDato ) & "." & Month( txtDato ) & "." & Year( txtDato ) ' SKAL ÅPNE TABELLEN ORDRE. connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.MapPath("") & "database.mdb;" Set conn = CreateObject("adodb.connection") conn.Open connStr ' Åpne Recordset Set oRS=Server.CreateObject("ADODB.Recordset") sqlstmt = "select * from tblOrdre" oRS.open sqlstmt, conn, 1, 3, 2 ' Legg til ny ordre oRS.AddNew oRS("OKID") = KID oRS("ODato") = txtDato oRS("OStatus") = "P" oRS.Update ' Hente ut ordre id OID = oRS("OID") ' Lukke ordren oRS.Close ' SKAL ÅPNE TABELLEN ORDRELINJER. connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & server.MapPath("") & "database.mdb;" Set conn = CreateObject("adodb.connection") conn.Open connStr ' Åpne Recordset Set oRS=Server.CreateObject("ADODB.Recordset") sqlstmt = "select * from tblOrdrelinjer" oRS.open sqlstmt, conn, 1, 3, 2 For i=1 To Session("varer") oRS.AddNew oRS("OLOID") = OID oRS("OLPID") = Session("PID" & i) oRS("OLKvant") = Session("Antall" & i) oRS.Update Next oRS.Close If Err.number <> 0 Then %>En feil oppstod... Beklager, ordren din ble ikke registrert.<% Response.End End If Session.Abandon Response.Redirect("takk.asp") %>
23. januar 2002 - 17:39
#10
yep, det skulle kunne virke... (hvis databasen ligger i samme mappe som asp-filen)
23. januar 2002 - 17:41
#11
Prøver det.
23. januar 2002 - 18:27
#12
JEG FÅR FEIL I LINJE 20. Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause. /Freeteam/lagreordre.asp, line 20 <% KID = Session("KID") error = "" ' Sjekk om handlekurven er tom... If Session("varer") < 1 Then error = error & "Du har ikke bestillt noen varer! " End If txtDato = Date() txtDato = Day( txtDato ) & "." & Month( txtDato ) & "." & Year( txtDato ) ' SKAL ÅPNE TABELLEN ORDRE. connStr = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/freeteam.mdb") Set oConn = CreateObject("adodb.connection") oConn.Open connStr ' Åpne Recordset Set oRS=Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM tblOrdre" oRS.open SQL, oConn, 1, 3, 2 ' Legg til ny ordre oRS.AddNew oRS("OKID") = KID oRS("ODato") = txtDato oRS("OStatus") = "P" oRS.Update ' Hente ut ordre id OID = oRS("OID") ' Lukke ordren oRS.Close ' SKAL ÅPNE TABELLEN ORDRELINJER. connStr = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/freeteam.mdb") Set oConn = CreateObject("adodb.connection") oConn.Open connStr ' Åpne Recordset Set oRS=Server.CreateObject("ADODB.Recordset") SQL = "SELECT * FROM tblOrdrelinjer" oRS.open SQL, oConn, 1, 3, 2 For i=1 To Session("varer") oRS.AddNew oRS("OLOID") = OID oRS("OLPID") = Session("PID" & i) oRS("OLKvant") = Session("Antall" & i) oRS.Update Next oRS.Close If Err.number <> 0 Then %>En feil oppstod... Beklager, ordren din ble ikke registrert.<% Response.End End If Session.Abandon Response.Redirect("takk.asp") %>
23. januar 2002 - 20:16
#13
den fejl du får, betyder at syntaxen i sql-sætningen er forkert. Har din database en tabel som hedder tblOrdre?
24. januar 2002 - 11:12
#14
Det er her feilen er: oRS.open SQL, oConn, 1, 3, 2
24. januar 2002 - 11:20
#15
ja, men det er SQL-variablen, som indeholder sql-sætningen, som den brokker sig over, så det er et eller andet med databasen.
Kurser inden for grundlæggende programmering