Avatar billede klcobra Nybegynder
06. september 2001 - 02:55 Der er 7 kommentarer og
1 løsning

Hvorfor virker det her ikke

Jeg prøver at lave en forbinelse mellem table(bruger og nyheder) men den siger :

Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e10\'

[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.

/arte/includes/nyheder.asp, linje 299

<%

Sql = \"Select * from bruger WHERE bruger=\" & session(\"id\") 
Set RS = conn.Execute(Sql)

rs(\"brugernavn\") = navn

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From nyheder where id = \"& Session(\"id\")
    rs.Open strSQL, Conn, 1, 3


   
            rs.addnew
            rs(\"nyhedid\") = 2
            rs(\"kunstnernavn\")= navn
            rs(\"kunstnerid\") = session(\"id\")
            rs(\"dato\") = now
            if not Request.Form(\"hovedtekst\") = \"\" then
      rs(\"hovedtekst\") = Request.form(\"hovedtekst\")
            end if
            if not Request.Form(\"overtekst\") = \"\" then
      rs(\"overtekst\") = Request.form(\"overtekst\")
            end if
                  rs.Update
   
response.redirect (\"nyheder.asp?mode=andrenyheder\")
conn.Close
set conn = Nothing
Avatar billede webbe Nybegynder
06. september 2001 - 07:54 #1
Øøøøøhhh - personligt kan jeg ikke se nogen connection (conn) til nogen DB!

Det er det der er problemet!

Det normale ville være:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"dns_name\"

Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"Select * From nyheder where id = \"& Session(\"id\")
    rs.Open strSQL, Conn, 1, 3

rs.addnew
            rs(\"nyhedid\") = 2
            rs(\"kunstnernavn\")= navn
            rs(\"kunstnerid\") = session(\"id\")
            rs(\"dato\") = now
            if not Request.Form(\"hovedtekst\") = \"\" then
      rs(\"hovedtekst\") = Request.form(\"hovedtekst\")
            end if
            if not Request.Form(\"overtekst\") = \"\" then
      rs(\"overtekst\") = Request.form(\"overtekst\")
            end if
                  rs.Update
   
response.redirect (\"nyheder.asp?mode=andrenyheder\")
conn.Close
set conn = Nothing


På den måde vil jeg tro du kan få det til at virke! ;0)
Avatar billede webbe Nybegynder
06. september 2001 - 07:56 #2
Du kan iøvrigt ikke lave følgende:

rs(\"brugernavn\") = navn

før du har dimensioneret dit recordset! ;0)
Avatar billede orca Nybegynder
06. september 2001 - 08:22 #3
Det første jeg ville gøre var at tjekke om sessionen(\"id\") indeholder noget. for hvis den er tom opstår netop denne fejl.

Mvh Mark
www.profiled.org/?orca
Avatar billede cuddles Nybegynder
06. september 2001 - 08:50 #4
Udover at lave en tjek på om Session(\"id\") indeholder noget, så vil det også være en god ide at lave en:

strSQL = \"Select * From nyheder where id = \" & CInt(Session(\"id\"))

Da det jo er en Access, som er f***ens nærtagende, når det kommer til typer.
Avatar billede erb Nybegynder
06. september 2001 - 10:14 #5
Jeg har haft nøjagtig samme problem, og det var ved at give mig grå hår i hovedet, indtil jeg konstaterede, at man ikke må have et feltnavn i en db, der har samme navn som tabellen. Jeg tror også det er årsagen til dit problem her:
Sql = \"Select * from bruger WHERE bruger=\" & session(\"id\") 
Prøv at omdøbe feltet \"bruger\" i databasen til noget andet f.eks. brugere, og ret det også i din Sql, så tror jeg det fungerer.

/erb
Avatar billede webbe Nybegynder
06. september 2001 - 10:16 #6
Erb:

Det problem har jeg aldrig haft!?
Avatar billede erb Nybegynder
06. september 2001 - 10:22 #7
Jeg stødte på det, da jeg skulle flytte en side fra et hotel til et andet, og pludselig virkede min kode ikke længere. Da jeg efter mange grå hår prøvede at ændre feltnavnet virkede alt igen.
Så jeg synes du skulle prøve, det kunne jo være, at det er her problemet er...

/erb
Avatar billede webbe Nybegynder
06. september 2001 - 10:24 #8
erb:

Well - kan være du har ret....men så er det jo webhotellet der sutter r..! ;0)
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