29. december 2001 - 18:19
Der er
30 kommentarer og 1 løsning
Underlig fejl.
Jeg får denne fejl: Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. /sa/opdater.asp, line 13 når jeg sender denne kommando: strSQL = \"Update Spil set Titel=\'\" & Request.Form(\"Titel\") & \"\' WHERE ID = \" & Request.Form(\"SpilID\") Conn.Execute(strSQL) \' (linie 13) strSQl ser sådan f.eks. ud i en response.write: Update Spil set Titel=\'ActuaSoccer\' WHERE ID = 13 Basen er åben og jeg har ikke problemer med at oprette nye poster eller slette. Jeg kan altså ikke få øje på hvad der er galt. :(
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
29. december 2001 - 18:29
#1
prøv med: strSQL = \"Update Spil set Titel=\'\" & Request.Form(\"Titel\") & \"\' WHERE ID = \" & Request.Form(\"SpilID\") & \"\"
29. december 2001 - 18:45
#2
duede ikke.
29. december 2001 - 19:12
#3
nu ved jeg det! - to min..
29. december 2001 - 19:17
#4
strSQL = \"update Spil set Titel=\" & Request.Form(\"Titel\") & \"\' where id=\'\" & request.form(\"spilid\") & \"\' \" det skulle virke!
29. december 2001 - 19:20
#5
Den har jeg også prøvet og den melder type mismatch da feltet spilID er et talfelt.
29. december 2001 - 19:35
#6
ok, det er da en \"Underlig fejl\" hva ? heg tror jeg glemte \' ved \"Titel=\" &\" - det skulle jo se sådan ud: \"Titel=\'\" &\" men hvis det ikke hjælper, så kigger jeg på det igen ;)
29. december 2001 - 20:23
#7
strSQL = \"Update Spil set Titel=\'\" & Request.Form(\"Titel\") & \"\' WHERE ID =\'\" & Request.Form(\"SpilID\") & \"\'\" Conn.Execute(strSQL)
30. december 2001 - 00:17
#8
Jeg tror ikke på at det er noget med sql-sætningen, så nu prøver jeg at smide hele koden ud: rediger.asp: <!-- Minus AutoDato --> <% If Request.ServerVariables(\"CONTENT_LENGTH\") = 0 Then Response.Write \"<html>\" Response.Write \"<TITLE>Redigeringsoversigt</TITLE>\" Response.Write \"<head>\" %> <META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3.5\"><LINK HREF=\"titan.css\" REL=\"stylesheet\" TYPE=\"\'text/css\"></head><BODY> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath (\"titan.mdb\") Conn.Open DSN strSQL = \"Select * from Spil Order by Titel\" Set rs = Conn.Execute(strSQL) Response.Write \"<CENTER><H1>Alle Spil</H1></Center>\" %> <FORM ACTION=\"rediger.asp\" METHOD=\"POST\" NAME=\"en\"> <% Response.Write \"<TABLE BORDER=0 cellspacing=0 cellpadding=3 width=*>\" Response.Write \"<TR bgcolor=black style=\'color:white\'><TD WIDTH=30>Type</TD><TD WIDTH=50>Genre</TD><TD WIDTH=65>Titel</TD><TD WIDTH=120>Pris</TD><TD WIDTH=70>Producent</TD><TD>Link</TD><TD>Rediger</TD></TR>\" row_color = \"#DDDDDD\" Do IF row_color = \"#DDDDDD\" then row_color = \"#FFFFFF\" Else row_color = \"#DDDDDD\" End If Response.Write \"<TR bgcolor=\" & row_color & \" style=\'color:black\'>\" Response.Write \"<TD>\" & rs(\"Type\") & \"</TD>\" Response.Write \"<TD>\" & rs(\"Genre\") & \"</TD>\" Response.Write \"<TD>\" & rs(\"Titel\") & \"</TD>\" Response.Write \"<TD>\" & rs(\"Pris\") & \"</TD>\" Response.Write \"<TD>\" & rs(\"Producent\") & \"</TD>\" Response.Write \"<TD>\" & rs(\"Link\") & \"</TD>\" Response.Write \"<TD>\" & \"<INPUT TYPE=submit STYLE=font-size:9; VALUE=\" & rs(\"SpilID\") & \" NAME=\'Edit\'>\" & \"</TD></TR>\" rs.MoveNext Loop While Not rs.EOF Response.Write \"</TABLE>\" Response.Write \"</FORM>\" Conn.Close Set Conn = Nothing %> </body></html> <% Else %> <head><TITLE>Rediger en post</TITLE></HEAD><HTML><BODY> <% strAid = Trim(Request.Form(\"Edit\")) Response.Expires = 0 Dim strType, strGenre, klaus Response.Write \"<H2>Rediger et spil</H2><BR><BR>\" klaus=\"WHERE SpilID Like \" & strAid & \"\" Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath (\"titan.mdb\") Conn.Open DSN strSQL = \"Select * from Spil \" & klaus Set rs = Conn.Execute(strSQL) Response.Write \"<FORM ACTION=opdater.asp METHOD=POST NAME=Opdatering>\" Response.Write \"<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=2>\" Response.Write \"<TR><TD>ID</TD><TD><INPUT TYPE=text NAME=SpilID Value=\" & rs(\"SpilID\") & \"></TD></TR>\" Response.Write \"<TR><TD>Type</TD><TD>\" & rs(\"Type\") & \"</TD></TR>\" Response.Write \"<TR><TD>Genre</TD><TD>\" & rs(\"Genre\") & \"</TD></TR>\" Response.Write \"<TR><TD>Titel</TD><TD><INPUT TYPE=text NAME=Titel value=\'\" & rs(\"Titel\") & \"\'></TD></TR>\" Response.Write \"<TR><TD>Pris</TD><TD><INPUT TYPE=text NAME=Pris value=\'\" & rs(\"Pris\") & \"\'></TD></TR>\" Response.Write \"<TR><TD>Producent</TD><TD><INPUT TYPE=text NAME=Producent value=\'\" & rs(\"Producent\") & \"\'></TD></TR>\" Response.Write \"<TR><TD>Link</TD><TD><INPUT TYPE=text NAME=Link value=\'\" & rs(\"Link\") & \"\'></TD></TR>\" Response.Write \"</TABLE>\" %> <INPUT TYPE=\"submit\" VALUE=\"Send\" NAME=\"Send\"><INPUT TYPE=\"reset\" VALUE=\"Fortryd\" NAME=\"Fortryd\"></FORM></BODY></HTML> <% End If %> Og herefter opdater.asp: <html><!-- Minus AutoDato --><title>Spilredigering</title><head> <META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3.5\"> <META HTTP-EQUIV=\"Refresh\" CONTENT=\"6;URL=http://195.231.192.125/sa/rediger.asp\"> <LINK REL=\"stylesheet\" HREF=\"titan.css\" TYPE=\"text/css\"> </head><body> <% Set Conn = Server.CreateObject(\"ADODB.Connection\") DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \" DSN = DSN & \"DBQ=\" & Server.MapPath (\"titan.mdb\") Conn.Open DSN strSQL = \"Update Spil set [Titel]=\'\" & Request.Form(\"Titel\") & \"\', [Pris]=\" & Request.Form(\"Pris\") & \", [Producent]=\'\" & Request.Form(\"Producent\") & \"\', [Link]=\'\" & Request.Form(\"Link\") & \"\' WHERE ID = \" & Request.Form(\"SpilID\") & \"\" Conn.Execute(strSQL) Conn.Close Set Conn = Nothing %><BR><BR><BR><BR><h4><CENTER>Det var det</CENTER></h4></body></html>
30. december 2001 - 11:10
#9
Nu er den der! prøv med: strSQL = \"Update Spil set [Titel]=\'\" & Request.Form(\"Titel\") & \"\' WHERE ID =\" & Request.Form(\"SpilID\") & \"\" Conn.Execute(strSQL)
30. december 2001 - 11:41
#10
heller ikke...
30. december 2001 - 11:47
#11
Er du sikker på at Request.Form(\"SpilID\") har en tal værdi ?
30. december 2001 - 11:49
#12
Ja, Autonummereret langt heltal
30. december 2001 - 11:54
#13
Ja, men ikke i din database, men i asp-filen ?
30. december 2001 - 11:55
#14
Der er ingen formatering i asp-filen.
30. december 2001 - 11:57
#15
det jeg mente var, hvordan kaller du denne side ? hvilken side kommer resultaterne fra ???
30. december 2001 - 11:59
#16
Siden opdater kaldes fra siden rediger og resultaterne kommer fra en access db
30. december 2001 - 12:02
#17
ok, men SpilID, ligger den som en skjult tekst boks eller kalder du f.eks. formen sådan her: opdater.asp?SpilID=2 ???
30. december 2001 - 12:05
#18
Nu har jeg fundet din fejl! Du får IKKE SpilID med, og derfor finder databasen ikke rækken...
30. december 2001 - 12:06
#19
SpilID ligger i rediger.asp som en button med værdien sat til spilID som den henter fra basen. Derefter hentes værdi ind i opdater med request.form(\"SpilID\")
30. december 2001 - 12:08
#20
ja, men kanppen hedder ikke \"SpilID\" - den hedder \"edit\"
30. december 2001 - 12:09
#21
Heller ikke. Da jeg satte response.write(strSQL) response.end ind foran Execute fik jeg denne linie: Update Spil set [Titel]=\'ActualSoccer\', [Pris]=99, [Producent]=\'\', [Link]=\'\' WHERE ID = \'13\'
30. december 2001 - 12:14
#22
oker Pris et tal i databsen ?
30. december 2001 - 12:16
#23
Det er rigtigt at knappen hedder Edit, men i anden halvdel af rediger.asp flyttes den over i SpilID via et Inputfelt
30. december 2001 - 12:17
#24
Pris er et tal af typen Valuta i db\'en
30. december 2001 - 12:18
#25
prøv at ændre det til tekst i databsen og prøv så at sætte \' rund om i asp\'en... jeg tror det er der dit problem ligger
30. december 2001 - 12:24
#26
Det er desværre ikke altid nok at tro... Det virkede ikke.
30. december 2001 - 12:25
#27
ok, jeg giver op...
30. december 2001 - 12:29
#28
Det gør jeg også. Sletter skidtet og begynder forfra. Tusind tak for indsatsen.
30. december 2001 - 12:36
#29
du behøver da ikke at give point, du fik jo ikke løst dit problem rigtigt ?
30. december 2001 - 12:38
#30
Næh, men jeg er en flink mand der også belønner arbejdsindsatsen.
30. december 2001 - 12:42
#31
ok, mange tak!!! - og godt nytår ;)
Kurser inden for grundlæggende programmering