08. februar 2007 - 15:19
Der er
17 kommentarer og 1 løsning
Lille fejl ifb. update i database vha. asp
Hejsa, jeg sidder og roder lidt med at få opdateret nogle værdier i min database via. asp sider - men jeg er stødt på et problem... jeg kan ikke få flg. to sider til helt at arbejde sammen: - første side hvor jeg indtaster mine nye værdier redigerkampe.asp: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <HTML> <HEAD> <TITLE>Rediger Kampe</TITLE> <meta name="Generator" content="Stone's WebWriter 4"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#660066" ALINK="#FF0000"> <H2>Rediger kampe</H2> <% DIM CONNECT SET CONNECT = SERVER.CREATEOBJECT("ADODB.CONNECTION") CONNECT.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & Server.MapPath ("../../database/kampe.mdb") %> <% SET ONKampe = CONNECT.EXECUTE ("Select * FROM kampe") %> <BR> <BR> Data for seneste kamp er:<br> <FORM ACTION="godkendkampe.asp?nr=<%=request.querystring("nr")%>" Target="_top" METHOD="POST" NAME="kampchange"> <TABLE> <TR> <TD>Dato:</TD> <TD><input type="text" value="<%=ONKampe("SenesteDato")%>" name="SenesteDato"></TD> </TR> <TR> <TD>Kamp:</TD> <TD><input type="text" size="30" maxlength="30" value="<%=ONKampe("SenesteKamp")%>" name="SenesteKamp"></TD> </TR> <TR> <TD>Resultat:</TD> <TD><input type="text" value="<%=ONKampe("SenesteResultat")%>" name="SenesteResultat"></TD> </TR> </TABLE> <br><br> <TABLE> Data for næste kamp er:<br> <TABLE> <TR> <TD>Dato:</TD> <TD><input type="text" value="<%=ONKampe("NaesteDato")%>" name="NaesteDato"></TD> </TR> <TR> <TD>Kamp:</TD> <TD><input type="text" size="30" maxlength="30" value="<%=ONKampe("NaesteKamp")%>" name="NaesteKamp"></TD> </TR> <TR> <TD>Kl:</TD> <TD><input type="text" value="<%=ONKampe("NaesteKl")%>" name="NaesteKl"></TD> </TR> </TABLE> <INPUT TYPE="hidden" VALUE="<%=ONKampe("ID")%>" NAME="Nr"> <strong>Bemærk - der må ikke indgå ' og " i felterne</strong> <br> <input type="submit" value="Gem ændringer" name="Send"><input type="reset" value="Fortryd indtastningerne" name="Reset"> </FORM> <!-- lukker forbindelsen --> <% ONKampe.close connect.close set ONKampe=nothing set connect=nothing %> </BODY> </HTML> og den hvor jeg ønsker at opdatere min database med værdierne fra siden: <% RESPONSE.BUFFER="True" CONST ADOPENKEYSET = 1 CONST ADLOCKOPTIMISTIC = 3 SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION") CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & _ Server.MapPath("../../database/kampe.mdb") STRSQL = "Select * FROM kampe where ID = " & clng(request.querystring("nr")) & ";" strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & clng(request.querystring("nr")) "' WHERE [id] = " & clng(request.querystring("nr")) ' gem ændringer conn.execute (strSql) 'nyt conn.close set conn=nothing ' tilbage til admin RESPONSE.REDIRECT("nyheds-admin.asp") %> min dabatase hedder kampe og det samme gør min tabel - den har flg. indhold: ID - Autonumber SenesteDato - text SenesteKamp - text SenesteResultat - text NaesteDato - text NaesteKamp - text NaesteKl - text når jeg forsøger at opdatere får jeg flg. fejlmelding: Microsoft VBScript compilation error '800a0400' Expected statement /admin/godkendkampe.asp, line 17 "' WHERE [id] = " & clng(request.querystring("nr")) ^ så er der nogen, der kan gennemskue hvad jeg gør galt?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
08. februar 2007 - 15:35
#1
strSql = "UPDATE DISTINCTROW [nyhed] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & clng(request.querystring("nr"))
08. februar 2007 - 15:49
#2
har lige ændret til: strSql = "UPDATE DISTINCTROW [Kampe] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & clng(request.querystring("nr")) "' WHERE [id] = " & clng(request.querystring("nr")) tror jeg i første omgang blev træt af at det ikke virkede og prøvede med lidt copy/paste fra noget, der virker... men det giver mig stadig samme fejl...
08. februar 2007 - 15:50
#3
øhm.. hvorfor har du 2 where ?? kan man jo ikke
08. februar 2007 - 16:10
#4
det er en fejl... ændrede det lige... nu får jeg flg. istedet: Microsoft VBScript runtime error '800a000d' Type mismatch: 'clng' /admin/godkendkampe.asp, line 10
08. februar 2007 - 16:12
#5
strSql = "UPDATE DISTINCTROW [Kampe] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & request.querystring("nr")
08. februar 2007 - 16:17
#6
samme fejl...
08. februar 2007 - 16:18
#7
det kan ikke være samme fejl når der ikke er noget som hedder clng mere.
08. februar 2007 - 16:21
#8
strSql = "UPDATE DISTINCTROW [Kampe] SET [Dato] = '" & request.form("dato") & "',[SenesteKamp] = '" & request.form("SenesteKamp") & "',[NaesteDato] = '" & request.form("NaesteDato") & "',[NaesteKamp] = '" & request.form("NaesteKamp") & "' WHERE [id] = " & request.querystring("nr") & " sådan der.. og hvad der ellers kan være af fejl kan vi jo ikke bare lige sådan regne ud for dig. aner ikke hvilken db det er.. og hvilke datatyper. f.eks er det access db så skal du # # rundt om dato'erne..
08. februar 2007 - 16:24
#9
Min fil ser nu således ud: <% RESPONSE.BUFFER="True" CONST ADOPENKEYSET = 1 CONST ADLOCKOPTIMISTIC = 3 SET CONN = SERVER.CREATEOBJECT("ADODB.CONNECTION") CONN.OPEN "DRIVER={Microsoft ACCESS DRIVER (*.MDB)}; DBQ=" & _ Server.MapPath("../../database/kampe.mdb") STRSQL = "Select * FROM kampe where ID = " & clng(request.querystring("nr")) & ";" strSql = "UPDATE DISTINCTROW [Kampe] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & request.querystring("nr") ' gem ændringer conn.execute (strSql) 'nyt conn.close set conn=nothing ' tilbage til admin RESPONSE.REDIRECT("nyheds-admin.asp") %> jeg har jo flg. linie lidt højere oppe end selve sql'en: clng(request.querystring("nr")) tror det er den den brokker sig over... og helt fair at I ikke lige kan regne ud fra mig hvad det er... det er en acces db - og mine datofelter er bare tekst felter...
08. februar 2007 - 21:30
#10
prøv at udskrive din SQL.. ' gem ændringer response.write(strSql) response.end conn.execute (strSql) og sig skriv herinde hvad den udskriver.
09. februar 2007 - 09:20
#11
hej igen, efter at have indsat det fra din seneste kommentar får jeg flg.: UPDATE DISTINCTROW [Kampe] SET [Dato] = '',[SenesteKamp] = '1',[NaesteDato] = '1',[NaesteKamp] = '1' WHERE [id] = så den fanger ikke min "nr" fra forrige side... på den har jeg da ellers flg. linie: <INPUT TYPE="hidden" VALUE="<%=ONKampe("ID")%>" NAME="Nr"> som står inden min </Form> - så den burde da komme med over... for en god ordens skyld, så er min database opbygget som følger: Database navn: Kampe Tabelnavn: Kampe Feltnanve: ID - Autonumber SenesteDato - text SenesteKamp - text SenesteResultat - text NaesteDato - text NaesteKamp - text NaesteKl - text
09. februar 2007 - 09:36
#12
prøv strSql = "UPDATE DISTINCTROW [Kampe] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & request.form("Nr")
09. februar 2007 - 09:36
#13
og ret også denne <INPUT TYPE="hidden" VALUE="<%=ONKampe("ID")%>" NAME="Nr"> til <INPUT TYPE="hidden" VALUE="<%=ONKampe("ID")%>" NAME="Nr" Id="Nr">
09. februar 2007 - 10:10
#14
jeg rettede til og fjernede først den hvor den skriver sql-sætningen ud - men det gav mig en fejl: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /admin/godkendkampe.asp, line 20 så satte jeg den på igen - det giver mig: UPDATE DISTINCTROW [Kampe] SET [Dato] = '',[SenesteKamp] = '1',[NaesteDato] = '1',[NaesteKamp] = '1' WHERE [id] = 1
09. februar 2007 - 10:11
#15
opdagede lige fejlen... mit felt hedder senesteDato og ikke dato - det rettede jeg til - og nu virker det tak for kampen - vil du ikke have dine point?
09. februar 2007 - 10:13
#16
det eneste jeg kan se er mystisk... det er det der distinctrow.. prøv at fjerne det. strSql = "UPDATE [Kampe] SET [Dato] = '" & request.form("dato") & _ "',[SenesteKamp] = '" & request.form("SenesteKamp") & _ "',[NaesteDato] = '" & request.form("NaesteDato") & _ "',[NaesteKamp] = '" & request.form("NaesteKamp") & _ "' WHERE [id] = " & request.querystring("nr") en af dine dato'er er tomme, men hvis den i db'en tillader dette er det ikke noget problem..
09. februar 2007 - 10:15
#17
he he okay:)
09. februar 2007 - 12:32
#18
God weekend :-)
Kurser inden for grundlæggende programmering