Avatar billede Cars10 Praktikant
18. august 2003 - 10:24 Der er 35 kommentarer og
1 løsning

Problemer med database

<%
' Opretter forbindelse til database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("/DB/DB.mdb")
Conn.Open DSN
%>
<html>
    <head>
    </head>
    <body>
    <%
        strSQL = "INSERT INTO brugere VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6');"

        ' Udfør forespørgsel (rs indeholder nu resultatet)
        Set rs = Conn.Execute(strSQL)
    %>
    </body>
</html>
<%
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

Når jeg prøver at køre koden for jeg følgende fejl:
HTTP 500,100 - Intern fejl på serveren - ASP-fejl -
Internet Information Services

--------------------------------------------------------------------------------

Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Handlingen skal bruge en opdaterbar forespørgsel.
/opret.asp, line 21

Hvordan for jeg det til at virke?
Avatar billede mm12010 Nybegynder
18. august 2003 - 10:28 #1
Avatar billede Cars10 Praktikant
18. august 2003 - 10:34 #2
Jeg har ikke noget der hedder Security der! men jeg kan se at mappen er skrivebeskyttet. Hvis jeg fjerner det bliver det automatisk sat på igen.
Avatar billede inglenook Praktikant
18. august 2003 - 10:40 #3
' Udfør forespørgsel (rs indeholder nu resultatet)
  Set rs = Conn.Execute(strSQL)

Du udfører ikke en forespørgsel, men en opdatering så du skal blot gøre dette:
Conn.Execute(strSQL) (uden 'Set rs = ')
Avatar billede mm12010 Nybegynder
18. august 2003 - 10:41 #4
højreklik>>sikkerhed>>tilføj...>> vælg IUSER_servernavn>>giv skriverettigheder
Avatar billede Cars10 Praktikant
18. august 2003 - 10:49 #5
Jeg har WinXP pro installeret og dette faneblad er der ikke
Avatar billede Cars10 Praktikant
18. august 2003 - 10:50 #6
For samme fejl med inglenooks ændringer
Avatar billede mm12010 Nybegynder
18. august 2003 - 10:51 #7
har du adm. rettigheder?
Avatar billede Cars10 Praktikant
18. august 2003 - 10:53 #8
jup
Avatar billede inglenook Praktikant
18. august 2003 - 10:55 #9
Prøv at fjerne semikolon i din strSQL.
Avatar billede Cars10 Praktikant
18. august 2003 - 10:55 #10
Jeg har et faneblad der hedder Webdeling. Derinde har jeg sat del denne mappe og sat skriverettigheder for dog stadig samme fejl
Avatar billede Cars10 Praktikant
18. august 2003 - 10:57 #11
samme fejl uden semikolon
Avatar billede gertp Nybegynder
18. august 2003 - 12:55 #12
tror der er noget galt med sql'en
strSQL = "INSERT INTO brugere ('test1', 'test2', 'test3', 'test4', 'test5', 'test6')VALUES ('::test1::', '::test2::', '::test3::', '::test4::', '::test5::',
'::test6::');"
Avatar billede Cars10 Praktikant
18. august 2003 - 14:28 #13
nu for jeg bare:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver]Der opstod en generel fejl. Registreringsnøglen Temporary (volatile) Jet DSN for process 0x160 Thread 0x1f0 DBC 0x1fd4024 Jet kan ikke åbnes.
/opret.asp, line 5

istedet
Avatar billede Cars10 Praktikant
18. august 2003 - 14:31 #14
øh nej det var fordi jeg ikke lukkede databasen.
stadig samme fejl!
Avatar billede hossein Nybegynder
18. august 2003 - 14:32 #15
Åbn denne computer - Klik på menupunktet Funktioner - Mappeindstillinger - Klik på fanen Vis - Fjern flueben i "Brug Enkel Fildelign" så skulle du gerne få adgang til fanen sikkerhed.
Avatar billede Cars10 Praktikant
18. august 2003 - 14:32 #16
Jeg kan sagtens bruge SELECT, men der skal jeg jo heller ikke have skrive rettigheder.
Avatar billede Cars10 Praktikant
18. august 2003 - 14:37 #17
ok nu har jeg sikkerhed. Hvad gør jeg så?
Avatar billede hossein Nybegynder
18. august 2003 - 14:39 #18
som mm12010 har skrevet:
højreklik>>sikkerhed>>tilføj...>> vælg IUSER_servernavn>>giv skriverettigheder
Avatar billede Cars10 Praktikant
18. august 2003 - 14:42 #19
altså højreklik på folderen hvor databasen ligger => sikkerhed => tilføj => men hvor er IUSER_servernavn
Avatar billede hossein Nybegynder
18. august 2003 - 14:49 #20
kan du se IUSER_et eller andet navn  ?
så vælg den.
Jeg sidder desvære ikke ved en winXP/NT maskine
Avatar billede Cars10 Praktikant
18. august 2003 - 14:54 #21
næh man kan vælge objekttype, placering og skrive et objektnavn
Avatar billede Cars10 Praktikant
18. august 2003 - 15:05 #22
ok nu har jeg fået tilføjet en bruger der hedder IUSR_CARSTEN og givet skriverettigheder. Nu for jeg denne fejl:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Antallet af forespørgselsværdier og destinationsfelter er ikke det samme.
Avatar billede Cars10 Praktikant
18. august 2003 - 15:05 #23
bruger dennne strSQL:
strSQL = "INSERT INTO brugere VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6')"
Avatar billede hossein Nybegynder
18. august 2003 - 15:14 #24
hvor mange felter har du i din tabel? mindre end 6 felter?
Avatar billede Cars10 Praktikant
18. august 2003 - 15:25 #25
6 felter + et ID felt med autonummerering
Avatar billede Cars10 Praktikant
18. august 2003 - 15:28 #26
?!?? ok jeg fik indsat en værdi med: strSQL = "INSERT INTO brugere (""kode"") VALUES ('test3');"
Avatar billede hossein Nybegynder
18. august 2003 - 15:35 #27
uden fejl?
Avatar billede Cars10 Praktikant
18. august 2003 - 15:36 #28
nåh nu virker det med:
strSQL = "INSERT INTO brugere (""brugernavn"", ""kode"", ""navn"", ""adresse"", ""tlf"", ""e-mail"") VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6')"

kan det være rigtigt at det skal stå sådan?
Avatar billede Cars10 Praktikant
18. august 2003 - 15:36 #29
ja
Avatar billede hossein Nybegynder
18. august 2003 - 15:40 #30
Jeg plejer at skrive på den måde:
strSQL = "INSERT INTO brugere (brugernavn, kode, navn, adresse, tlf, e-mail) VALUES ('test1', 'test2', 'test3', 'test4', 'test5', 'test6')"

også skal du tager hensyn til felternes data type, hvis det er text så ' rundt om og hvis dato # rundt om.
Avatar billede Cars10 Praktikant
18. august 2003 - 15:43 #31
det virker bare ikke uden "" for bare en fejl:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.
Avatar billede Cars10 Praktikant
18. august 2003 - 15:46 #32
hvordan gør du det med data-type formateringen er ny i asp så kender ikke noget til det
Avatar billede Cars10 Praktikant
18. august 2003 - 15:49 #33
mener du sådan her:
INSERT INTO min_tabel (""tekstfelt1"", ""datofelt1"") VALUES ('test1', #18-08-03#"
Avatar billede Cars10 Praktikant
18. august 2003 - 15:50 #34
sidste tegn skulle have været et ) isteder
Avatar billede Cars10 Praktikant
18. august 2003 - 15:51 #35
*istedet
Avatar billede hossein Nybegynder
18. august 2003 - 16:00 #36
ja
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