Avatar billede mysli Nybegynder
07. september 2005 - 09:25 Der er 13 kommentarer

Problem med at indsætte i databasen

Er lige startet på asp, i skal prøve at lave en database.

Men når jeg kører dette sker der intet;

        Set Conn = Server.CreateObject("ADODB.Connection")
        DNS = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("tutorial.mdb")
        Conn.Mode = 3
        Conn.Open DNS
       
        if Request.Form("submit") = "TRUE" Then
            strmsg = trim(Request.Form("msg"))
            strnavn = trim(Request.Form("navn"))
           
            If len(strmsg) < 1 OR len(strnavn) < 1 Then
                strError = "En eller flere felter blev ikke korrekt udfyldt"
            Else
                strSQL = "insert into tagwall (msg, navn)"
                strSQL = strSQL & " Values ('" & strmsg & "','" & strnavn & "')"
                Conn.execute(strSQL)
                'response.write strmsg
            End if
           
        End if
       
        If strError <> "" Then
            Response.Write strError
        End if

        strSQL = "select * from tagwall"

        Set rs = Conn.Execute(strSQL)

        Do While not rs.EOF
            Response.Write "<div>"
            Response.Write "<table><tr><td>Fra "
            Response.Write rs("navn")
            Response.Write "</td></tr><tr><td>"
            Response.Write rs("msg")
            Response.Write "</td></tr></table></div>"

            rs.MoveNext
        Loop

        Conn.Close
Men disse linier skaber problemer;

strSQL = "insert into tagwall (msg, navn)"
                strSQL = strSQL & " Values ('" & strmsg & "','" & strnavn & "')"
                Conn.execute(strSQL)

For hvis jeg fjerner dem virker det perfekt.
Avatar billede mysli Nybegynder
07. september 2005 - 09:26 #1
Altså, perfekt på den måde at scriptet kan køres, men kan af gode grunde ikke indsætte i databasen
Avatar billede softspot Forsker
07. september 2005 - 09:31 #2
Hvilken fejl får du? Jeg spekulerer på om det har noget med indholdet af strNavn eller strMsg at gøre. Prøv at udskrive SQL-sætningen, men stadig uden at udføre den og se hvad der kommer ud af det...
Avatar billede mysli Nybegynder
07. september 2005 - 09:48 #3
Får fejl 500 - serverfejl.

Hvis jeg fjerner execution linien, og udskriver strSQL får jeg;
insert into tagwall (msg, navn) Values ('dfg','dfg')

Hvilket er hvad jeg ar skrevet i formen
Avatar billede fennec Nybegynder
07. september 2005 - 09:54 #4
Prøv med:
strSQL = "insert into tagwall ([msg], [navn])"
strSQL = strSQL & " Values ('" & strmsg & "','" & strnavn & "')"
Avatar billede fennec Nybegynder
07. september 2005 - 09:55 #5
Du skal desuden lige gøre dette:

funktioner >> Internetinstillinger >> advanceret >> fjern kryds i "vis meddelelser om uskadelige HTTP-fejl"

Så får du den rigtige fejlbeskrivelse.
Avatar billede softspot Forsker
07. september 2005 - 11:42 #6
...og hvis fennec's trick ikke fungerer så check lige om kolonnenavnene er korrekte (at det f.eks. ikke er name i stedet for navn).
Avatar billede mysli Nybegynder
07. september 2005 - 14:55 #7
Har nu følgende;

strSQL = "insert into tagwall ([msg], [navn])"
                strSQL = strSQL & " Values ('" & strmsg & "','" & strnavn & "')"
                Conn.execute(strSQL)

og kolonnerne passer med databasen.

Får denne fejl: "Operation must use an updateable query.

/käsor/tut.asp, line 25"

Hvilket er Conn.execute(strSQL)
Avatar billede softspot Forsker
07. september 2005 - 15:55 #8
Det lyder som om du ikke har skriverettigheder til databasefilen.
Avatar billede softspot Forsker
07. september 2005 - 15:56 #9
Hvis du har mulighed for det, så check egenskaber på den folder hvor databasen ligger og se om IUSR har rettighed til at skrive i den folder. Check evt. direkte på databasefilen.
Avatar billede mysli Nybegynder
07. september 2005 - 16:26 #10
Det ligger på min skoles server. Hver elev har deres eget drev på webserveren.

Men hvis jeg har mulihed for at oprette og slette filer på drevet, burde jeg vel også have adgang til at skrive til databasen, burde jeg ikke?
Avatar billede softspot Forsker
07. september 2005 - 16:36 #11
Det er ikke din bruger der forsøger at skrive til drevet, det er IUSR, om er webserverens bruger (hvis vi altså taler IIS). Derfor er denne bruger også nød til at have skriverettigheder til database-filen...
Avatar billede mysli Nybegynder
07. september 2005 - 17:01 #12
Hmm - kan jeg se det ved nogen asp info?
Eller skal jeg kontakte IT-administrationen på skolen?
Avatar billede softspot Forsker
07. september 2005 - 17:05 #13
Jeg vil tro det er hurtigt at gå direkte til IT-admin på skolen...
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