Avatar billede totalpc Seniormester
06. juli 2005 - 22:40 Der er 7 kommentarer og
1 løsning

connect til accesdatabasen

Hej

Jeg havda lavet noget kode der skulle gemme i min access db og det virkede fint her hos mig selv..Men på det webhotel hvor det skal ligge har de følgende regel til at connecte til databasen:

Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("data.mdb") & ";UID=;PWD="

Nu har jeg forsøgt at ændre min kode men nu går der helt kage i den..hvem kan gennemskue det og hjælpe mig ?
Det der er udkommenteret er noget af min kode som jeg ikke tror skal med!!!
<%
'Dimension variables
Dim adoCon              'Holds the Database Connection Object
Dim db                      'Holds the recordset for the new record to be added
Dim SQL                  'Holds the SQL query to query the database

'Create an ADO connection object
'Set adoCon = Server.CreateObject("ADODB.Connection")
'Set an active connection to the Connection object using a DSN-less connection
'adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("golfscooter.mdb")

Set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("golfscooter.mdb") & ";UID=;PWD="


'Create an ADO recordset object
'Set rsAddComments = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
SQL = "SELECT * FROM scooter;"

'Set the cursor type we are using so we can navigate through the recordset
db.CursorType = 2

'Set the lock type so that the record is locked by ADO when it is updated
db.LockType = 3

'Open the recordset with the SQL query
db.Open SQL, adoCon

'Tell the recordset we are adding a new record to it
db.AddNew

'Add a new record to the recordset
db.Fields("model")         = Request.Form("model")
db.Fields("beskrivelse") = Request.Form("beskrivelse")
db.Fields("Ip")            = Request.ServerVariables("REMOTE_ADDR")
   

'Write the updated recordset to the database
db.Update


'find id som vi lige har sat ind.
sqlo = "SELECT max(id_no) FROM scooter"
Set rso = adocon.Execute(sqlo)   

oid = Cint(rso(0))

'Reset server objects
db.Close
Set db = Nothing
Set adoCon = Nothing
'response.write rso("maxkommentar_id")


Response.Redirect "billede.asp?id=" & Server.URLEncode(oid)

%>
Avatar billede nielle Nybegynder
07. juli 2005 - 06:45 #1
Hvilken fejlmeddelse får du?
Avatar billede totalpc Seniormester
07. juli 2005 - 09:13 #2
Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0xd24 Thread 0x5b8 DBC 0x95fbfdc Jet'.

/golfscooter/asp/scooter_db.asp, line 11
Avatar billede nielle Nybegynder
08. juli 2005 - 18:16 #3
Du har fået sammenblandet et par begreber. Jeg har rettet op i din kode, og jeg gætter på at dette kungere bedre:

<%
' Dimension variables
Dim ConnStr  ' Database connection string.
Dim Conn  ' Database connection.
Dim SQL  ' SQL sætninger.
Dim Rs  ' Recordset til data.

' Opret en database forbindelse.
Set Conn = Server.CreateObject("ADODB.Connection")

' Knyt den til din Access database.
ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("golfscooter.mdb")
Conn.Open ConnStr

' Ikke noget ';' til sidst
SQL = "SELECT * FROM scooter"

' Opret et recordset til data.
Set Rs = Server.CreateObject("ADODB.Recordset")

' Set the cursor type we are using so we can navigate through the recordset
Rs.CursorType = 2

' Set the lock type so that the record is locked by ADO when it is updated
Rs.LockType = 3

' Open the recordset with the SQL query
Rs.Open SQL, Conn

' Tell the recordset we are adding a new record to it
Rs.AddNew

' Add a new record to the recordset
Rs.Fields("model") = Request.Form("model")
Rs.Fields("beskrivelse") = Request.Form("beskrivelse")
Rs.Fields("Ip") = Request.ServerVariables("REMOTE_ADDR")

' Write the updated recordset to the database
Rs.Update

' Find id som vi lige har sat ind.
SQL = "SELECT Max(id_no) AS Max_Id FROM scooter"
Set Rs = Conn.Execute(SQL)   

oid = CInt(Rs("Max_Id"))

'Reset server objects
Rs.Close
Set Rs = Nothing

Conn.Close
Set Con = Nothing
' response.write rso("maxkommentar_id")

Response.Redirect "billede.asp?id=" & Server.URLEncode(oid)
%>
Avatar billede nielle Nybegynder
15. juli 2005 - 06:55 #4
Har du fået kigget på det?
Avatar billede nielle Nybegynder
28. juli 2005 - 21:50 #5
?
Avatar billede totalpc Seniormester
12. oktober 2005 - 14:20 #6
ja sorry...smid et svar
Avatar billede nielle Nybegynder
12. oktober 2005 - 17:37 #7
Jeg formoder at det betyder at det virker korrekt?

... og et svar :^)
Avatar billede totalpc Seniormester
12. oktober 2005 - 19:24 #8
yeps tak :)
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