Avatar billede futuregrafix Nybegynder
26. april 2005 - 10:27 Der er 13 kommentarer og
2 løsninger

Ingen fejl og der bliver ikke skrevet noget i databasen

Hejsa

Jeg har problemer!! :) Er der nogen der kan se hvad der er galt herunder, i min kode? Jeg får nemlig ingen fejl, og der bliver ikke gemt noget i databasen.

<%
'HER FØLGER REDEGERINGS FORMSNE
select case request.querystring("edit")
case ("20")

'Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../db/database.mdb")
Conn.Open DSN

strSQL = "Select * From 2_0 Where Id = " & Request.Querystring("ID")
Set rs = Conn.Execute(strSQL)

function tilSQL(inpFelt)
tilSQL=trim(replace(Request.Form(inpFelt),"'","''"))
end function

if request("mode") = "updateproducts" then
'SQL sætning opbygges
strSQL = "Update 2_0 SET "

strSQL = strSQL & "VareNr= '" & tilSQL("'VareNr") & "', "
strSQL = strSQL & "Rank= '" & tilSQL("Rank") & "', "
strSQL = strSQL & "Visning= '" & tilSQL("Visning") & "', "
strSQL = strSQL & "Type= '" & tilSQL("Type") & "', "
strSQL = strSQL & "JPG= '" & tilSQL("JPG") & "', "
strSQL = strSQL & "JPG_S= '" & tilSQL("JPG_S") & "', "
strSQL = strSQL & "Spejl_mm= '" & tilSQL("Spejl_mm") & "', "
strSQL = strSQL & "Tekst= '" & tilSQL("Tekst") & "', "
strSQL = strSQL & "Beskrivelse= '" & tilSQL("Beskrivelse") & "', "
strSQL = strSQL & "Facet_mm= '" & tilSQL("Facet_mm") & "', "
strSQL = strSQL & "Br_ho_cm= '" & tilSQL("Br_ho_cm") & "', "
strSQL = strSQL & "Pris= '" & tilSQL("Pris") & "' "
strSQL = strSQL & "WHERE ID=" & ID

'SQL sætning eksekveres
Conn.Execute(strSQL)

'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

Response.Redirect("product_editor.asp?ListProducts=20")
end if
%>
Avatar billede trekkies Juniormester
26. april 2005 - 10:29 #1
Når at du højre klikker på din mappe eller fil og vælger "egenskaber", så skulle der gerne være et faneblad ved navn "Sikkerhed", hvis ikke:
http://www.darkskies.dk/rettigheder.html

Filmen er lavet til en dansk windows.

Hvis du har fanebladet "Sikkerhed", så kan du klikke på "Avanceret", der kan du nedarve rettighederne, f.eks. der skal være flueben i den første box, nede i bunden, med teksten: "Arv de tilladelsesposter, der gælder for underobjekter, fra det overordnede objekt. Medtag disse sammen med de poster, der er udtrykkeligt defineret her."

Håber at du kan bruge dette her.
Avatar billede trekkies Juniormester
26. april 2005 - 10:33 #2
Det vil hjælpe hvis du bruger denne sql sætning:
Response.Write strSQL

Du kan bruge den sådan:
'SQL sætning eksekveres
'Response.Write strSQL
' Husk at fjerne ' foran Response og sæt ' foran Conn.Execute, Conn.Close, Set Conn = Nothing og Response.Redirect
Conn.Execute(strSQL)

'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

Response.Redirect("product_editor.asp?ListProducts=20")
end if
%>

Du kan få en bedre fejl meddelse med Response.Write strSQL.
Avatar billede fennec Nybegynder
26. april 2005 - 10:36 #3
Er du sikker på du kommer ind i koden??

Du har en Select Case samt en request("mode"), som begge skal være opfyldt.
Avatar billede cpufan Juniormester
26. april 2005 - 11:03 #4
som fennec skriver....
når den ikke melder fejl, så er det fordi du ryger udenom.
får du sendt parameterne med over på siden:
asp?edit=20&mode=updateproducts

edit=20 skal stå i adresselinien, da du requester querystring
mens mode=updateproducts godt kan komme fra en input type hidden
Avatar billede trekkies Juniormester
26. april 2005 - 11:10 #5
Prøv at bruge mit svar kl. 10:33:49, så kan du få din fejl meddelse vist.
Avatar billede futuregrafix Nybegynder
26. april 2005 - 13:06 #6
Mange tak for de fine svar!
Syntes bare slet ikke der er noget der virker...

Får bare noget fejl halløj:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Id ='.

/cms/product_editor.asp, line 178

I linie 178 sker der det her: Set rs = Conn.Execute(strSQL)
Avatar billede trekkies Juniormester
26. april 2005 - 13:11 #7
Du må ikke bruge "Type" da det er et reserveret ord i SQL, ændre din linie fra dette:
strSQL = strSQL & "Type= '" & tilSQL("Type") & "', "

til dette:
strSQL = strSQL & "[Type]= '" & tilSQL("Type") & "', "

Prøv at ændre din id linie fra dette:
strSQL = strSQL & "WHERE ID=" & ID
til dette:
strSQL = strSQL & "WHERE ID=" & TRIM(Request.QueryString("id"))
Avatar billede cpufan Juniormester
26. april 2005 - 13:12 #8
strSQL = strSQL & "WHERE ID=" & request("ID")
Avatar billede futuregrafix Nybegynder
26. april 2005 - 13:18 #9
Nu får jeg fejlen i linie 203, hvor SQL sætningen udføres:
'SQL sætning eksekveres
Conn.Execute(strSQL)

Får den her fejl:
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

Vidst da egentlig godt det med Type, men når det er længe siden man hat sat med det, det forsvinder sådan noget skidt igen :)
Avatar billede trekkies Juniormester
26. april 2005 - 13:38 #10
Hvis du vil, kan du sende filen og din database til mig, så vil jeg kigge på den, min mail adresse er malle@mail.dk.
Avatar billede cpufan Juniormester
26. april 2005 - 13:43 #11
hvis datatypen er sat til tal i db'en, skal der ikke ' omkring når du indsætter
Avatar billede futuregrafix Nybegynder
26. april 2005 - 14:24 #12
hey igen trekkies

Jeg har sendt en mail til dig, mange tak for hjælpen!!!!!
Avatar billede trekkies Juniormester
26. april 2005 - 16:21 #13
Han havde en fejl i sin SQL sætning:
strSQL = strSQL & "VareNr= '" & tilSQL("'VareNr") & "', "
Der er en ' for meget i hans SQL, se her'

Der skulle skrives følgende:
strSQL = strSQL & "VareNr= '" & tilSQL("VareNr") & "', "
Avatar billede cpufan Juniormester
26. april 2005 - 16:42 #14
for en del af arbejdet :-)
Avatar billede trekkies Juniormester
27. april 2005 - 14:04 #15
Tak for points :>
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