Avatar billede prebenped Nybegynder
08. december 2001 - 23:53 Der er 13 kommentarer og
1 løsning

Skriv til en Access Database

Hejsa Eksperter!

Jeg har denne kode, men jeg kan ikke få den til at skrive til access databasen.

NB: Der hvor der står Ftpbrugernavn er mit Ftplogin det retter jeg selv.

Håber der er nogen som kan hjælpe mig.

<%
Dim brugernavn, pw, mail, icq, homepage, fejl

fejl = false
brugernavn = Request.Form(\"brugernavn\")
password = Request.Form(\"password\")
email = Request.Form(\"email\")
icq = Request.Form(\"icq\")
hjemmeside = Request.Form(\"hjemmeside\")

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"brugere.mdb\")
strConnect = \"Data Source=d:\\home\\FtpBrugernavn\\db\\brugere.mdb;Provider=Microsoft.Jet.OLEDB.4.0;\"


\'Tester om brugernavn findes i databasen
Set rs = Conn.execute (\"SELECT * FROM brugere WHERE brugernavn=\'\" & brugernavn & \"\'\")

If Not rs.Eof Then
    Response.Write(\"<p><font color=red>Brugernavn er allerede oprettet! Vælg venligst et andet brugernavn!</font></p>\")
    fejl = true
End If

Conn.Close
Set Conn = Nothing

If brugernavn = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst et brugernavn!</font></p>\")
    fejl = true
End If

If password = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst et password!</font></p>\")
    fejl = true
End If

If email = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst en e-mail adresse!</font></p>\")
    fejl = true
End If

If hjemmeside = \"http://\" Then
    hjemmeside = \"\"
End If



\'Opretter profil i databasen
If fejl <> true Then
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"brugere.mdb\")
Conn.Open DSN

strSQL = \"INSERT INTO brugere (\" &_

    \"brugernavn, password, email, icq, hjemmeside, oprettet, sidste_login) \" &_

    \"values(\'\" & brugernavn & \"\', \'\" & password & \"\', \'\" & email & \"\', \'\" & icq & \"\', \'\" & hjemmeside & \"\', \'\" & Now & \"\', \'\" & Now & \"\')\"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

\'Udskriver information
    Response.Write \"<p><b>Brugernavn:</b> \" & brugernavn
    Response.Write \"<p><b>Password:</b> \" & password
    Response.Write \"<p><b>E-mail:</b> <a href=mailto:\" & email & \">\" & email & \"</a></p>\"
    Response.Write \"<p><b>ICQ:</b> \" & icq
    Response.Write \"<p><b>Hjemmeside:</b> <a href=\" & hjemmeside & \" target=_blank>\" & hjemmeside & \"</a></p>\"
    Response.Write \"<p>Velkommen til, \" & brugernavn & \"! Du er nu oprettet som bruger!</p>\"
    Response.Write \"<p><a href=java script:window.print()>Udskriv information</a></p>\"
End If

If fejl = true Then
    Response.Write(\"<p><a href=java script:history.back()>Tilbage</a></p>\")
End If
%>
Avatar billede prebenped Nybegynder
08. december 2001 - 23:55 #1
Jeg glemte lige at skrive at jeg har webhotel hos Azero, Og der har de lavet det sådan at man 2 mapper.

Database mappe ( Alle Databaser skal ligge her)
WWW mappe
Avatar billede nute Nybegynder
09. december 2001 - 00:01 #2
tja...du forteller ikke om hvilken feil du får, men jeg kan forestille meg at denne linje:

DSN = DSN & \"DBQ=\" & Server.MapPath (\"brugere.mdb\")

skal være:

DSN = DSN & \"DBQ=\" & Server.MapPath (\"db/brugere.mdb\")
Avatar billede prebenped Nybegynder
09. december 2001 - 00:16 #3
Nute: Det virker ikke, jeg får ingen fejlmeddelelse. Det er som om at knappen ikke virker.
Avatar billede nute Nybegynder
09. december 2001 - 00:36 #4
hmmm....det eneste jeg kan se som er galt, er at du ikke har mellomrom mellom \'values\' og \'(\'

prøv å bytt ut disse linjer:

strSQL = \"INSERT INTO brugere (\" &_

    \"brugernavn, password, email, icq, hjemmeside, oprettet, sidste_login) \" &_

    \"values(\'\" & brugernavn & \"\', \'\" & password & \"\', \'\" & email & \"\', \'\" & icq & \"\', \'\" & hjemmeside & \"\', \'\" & Now & \"\', \'\" & Now & \"\')\"

med disse:

strSQL = \"INSERT INTO brugere \"
strSQL = strSQL & \"(brugernavn, password, email, icq, hjemmeside, oprettet, sidste_login)\"
strSQL = strSQL & \" values (\'\" & brugernavn & \"\', \'\" & password & \"\', \'\" & email & \"\', \'\" & icq & \"\', \'\" & hjemmeside & \"\', \'\" & Now & \"\', \'\" & Now & \"\')\"

prøv å view source på den side du eksekverer denne kode. Jeg kan forestille meg at du har slått feilmeldinger fra i din browser...dette gjør debugging litt vanskelig...

Avatar billede palsbo Nybegynder
09. december 2001 - 14:20 #5
Hos Azero skal du ha\' din access database liggende i folderen db - (den ligger parallel med www-folderen) for at kunne opdatere databasen.
DSN = DSN & \"DBQ=\" & Server.MapPath (\"../db/brugere.mdb\")
Jeg har et tilsvarende problem, idet jeg prøver at uploade et billede til serveren, men kan kun få lov til at uploade til nævnte \"db\" folder. Derfra kanjeg så til gengæld ikke vise den via html <img.....>. Samme problem med \'Permission\'
Avatar billede snuseren.dk Nybegynder
09. december 2001 - 19:12 #6
Jeg syntes at det er 100 gange lettere at gøre det på den måde:

rs.AddNew
rs(\"tabel1\") = request.form(\"tabel1\")
rs(\"tabel2\") = request.form(\"tabel2\")
rs.Update

/<a href=\"http://www.snuseren.dk\">Snuseren.dk</a>
Avatar billede snuseren.dk Nybegynder
09. december 2001 - 19:12 #7
Man kan ikke en gang skrive html her...
Avatar billede nute Nybegynder
09. december 2001 - 19:18 #8
snuserem.dk >> det er ikke snakk om hva som er lettest eller ikke...det er snakk om å få løst et problem på hvorfor noe ikke fungerer. den metode du refererer til er en grim MS shortcut for mennesker som ofte ikke helt vet hva de holder på med eller for mennesker som ikke gidder å lære seg normalt anvendte standarder...

hvordan kan du forvente å kunne fortolke HTML her inne når 75% av alle spørsmål omhandler HTML ?? så vil jo ingen av kode eksemplene bli vist...

/nute
Avatar billede prebenped Nybegynder
09. december 2001 - 22:37 #9
Palsbo:
Jeg får en besked i titel-linien der hedder
( Der opstod en interne HTTP 500-serverfejl )
Og der er med denne nedenstående kode.

<%
Dim brugernavn, pw, mail, icq, homepage, fejl

fejl = false
brugernavn = Request.Form(\"brugernavn\")
password = Request.Form(\"password\")
email = Request.Form(\"email\")
icq = Request.Form(\"icq\")
hjemmeside = Request.Form(\"hjemmeside\")

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"../db/brugere.mdb\")
strConnect = \"Data Source=d:\\home\\MIT FTP LOGIN\\db\\brugere.mdb;Provider=Microsoft.Jet.OLEDB.4.0;\"


\'Tester om brugernavn findes i databasen
Set rs = Conn.execute (\"SELECT * FROM brugere WHERE brugernavn=\'\" & brugernavn & \"\'\")

If Not rs.Eof Then
    Response.Write(\"<p><font color=red>Brugernavn er allerede oprettet! Vælg venligst et andet brugernavn!</font></p>\")
    fejl = true
End If

Conn.Close
Set Conn = Nothing

If brugernavn = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst et brugernavn!</font></p>\")
    fejl = true
End If

If password = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst et password!</font></p>\")
    fejl = true
End If

If email = \"\" Then
    Response.Write(\"<p><font color=red>Indtast venligst en e-mail adresse!</font></p>\")
    fejl = true
End If

If hjemmeside = \"http://\" Then
    hjemmeside = \"\"
End If



\'Opretter profil i databasen
If fejl <> true Then
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"../db/brugere.mdb\")
Conn.Open DSN


strSQL = \"INSERT INTO brugere \"
strSQL = strSQL & \"(brugernavn, password, email, icq, hjemmeside, oprettet, sidste_login)\"
strSQL = strSQL & \" values (\'\" & brugernavn & \"\', \'\" & password & \"\', \'\" & email & \"\', \'\" & icq & \"\', \'\" & hjemmeside & \"\', \'\" & Now
& \"\', \'\" & Now & \"\')\"

Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

\'Udskriver information
    Response.Write \"<p><b>Brugernavn:</b> \" & brugernavn
    Response.Write \"<p><b>Password:</b> \" & password
    Response.Write \"<p><b>E-mail:</b> <a href=mailto:\" & email & \">\" & email & \"</a></p>\"
    Response.Write \"<p><b>ICQ:</b> \" & icq
    Response.Write \"<p><b>Hjemmeside:</b> <a href=\" & hjemmeside & \" target=_blank>\" & hjemmeside & \"</a></p>\"
    Response.Write \"<p>Velkommen til, \" & brugernavn & \"! Du er nu oprettet som bruger!</p>\"
    Response.Write \"<p><a href=java script:window.print()>Udskriv information</a></p>\"
End If

If fejl = true Then
    Response.Write(\"<p><a href=java script:history.back()>Tilbage</a></p>\")
End If
%>
Avatar billede prebenped Nybegynder
14. december 2001 - 10:52 #10
Ja, jeg har stadig problem med ovenstående, nogen god idé hvordan set løses.

Hilsen Preben
Avatar billede nute Nybegynder
14. december 2001 - 10:59 #11
du åpner ikke ditt connection object (så vidt jeg kan se).  Du mangler \'Conn.Open strConnect\'
Avatar billede prebenped Nybegynder
14. december 2001 - 11:23 #12
Nute>
Hvor skal den så sættes ind
\'Conn.Open strConnect\'
Avatar billede prebenped Nybegynder
20. december 2001 - 16:50 #13
Hejsa!

Ja jeg har stadig problemer med denne skrivedatabase, jeg får nedenstående meddelelse:

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 0x5b4 Thread 0x68c DBC 0x22f200c Jet\'.

/sog/forminc.asp, linien \"Conn.Open\" streng

Og

Det er med denne nedenstående kode med (Conn.Open streng)

<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject \"ADODB.Connection\")
strConnect = \"Data Source=d:\\home\\shotgunlinedandk\\db\\database.mdb;Provider=Microsoft.Jet.OLEDB.4.0;\"
Conn.Open = \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"../db/database.mdb\")

    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From links\"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs(\"LinkName\") = Request.form(\"1\")
      rs(\"LinkURL\") = Request.form(\"2\")
      rs(\"sogeord\") = Request.form(\"sogeord\")
      rs(\"Beskrivelse\") = Request.form(\"Beskrivelse\")
      rs(\"Email\") = Request.form(\"Email\")
      rs(\"Rigtignavn\") = Request.form(\"Rigtignavn\")
      rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing
%>
Avatar billede prebenped Nybegynder
21. december 2001 - 01:08 #14
mig selv
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