19. november 2005 - 18:11
Der er
14 kommentarer og 1 løsning
Id fejl i en forespørgsel
Jeg får flg. fejl: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "Id=". /drev_c/Internet/ProLight-kunde-login/kunde-ret.asp, line 21 Når jeg afvikler flg. (uddrag): <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=C:\Internet\ProLight-kunde-login\kunde.mdb" Conn.Open DSN SQL = "Select * FROM table_user WHERE Id=" & Session("Id") Set rs = Conn.Execute(SQL) Response.Write "Rettelse af: " %> </h4> <form action="updateit.asp" method="post" name="dff_ret"> <h1><font face="Verdana">Rettelse<input type="hidden" name="ID" value='<%=session("Id")%>'></font></h1> osv osv linie 21 er: Set rs = Conn.Execute(SQL)
Annonceindlæg fra Immeo
19. november 2005 - 18:16
#1
Session("Id") er tom
19. november 2005 - 18:18
#2
Jeg har disse par linier, i siden "før": Set objKunder = Conn.Execute("select * from table_user order by Id asc") Session("Id") = objKunder("Id")
19. november 2005 - 18:22
#3
Der er vel ingen grund til at læse 2 gange fra den samme tabel. Det ser myyystisk ud, så vi må hellere se din kode.
19. november 2005 - 18:23
#4
....ok, på siden før - knap så mystisk, men stadigvæk: mysteriet løses kun med mere kode ;)
19. november 2005 - 18:25
#5
Jamen det får du, noget lidt spagetti programmering - asp er absolut ikke min stærke side: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <meta name="generator" content=""> <title>Kunde oversigt</title> <link href="bryllup-for-asp.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#E4D7CA"> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=C:\Internet\ProLight-kunde-login\kunde.mdb" Conn.Open DSN %><h4><% Response.Write "Oversigt over oprettede kunder" & "<br>" Response.Write "tryk på linket, for rettelse!" %></h4><% Set objKunder = Conn.Execute("select * from table_user order by Id asc") Session("Id") = objKunder("Id") Response.Write("<table border=0 width=650 align=left>") Response.Write("<td align=left class=""textbold""><b>Ret</b></td>") Response.Write("<td align=left class=""textbold""><b>Vis</b></td>") Response.Write("<td align=left class=""textbold""><b>Slet</b></td>") Response.Write("<td align=left class=""textbold""><b>Bruger</b></td>") Response.Write("<td align=left class=""textbold""><b>Adgangskode</b></td>") Response.Write("<td align=left class=""textbold""><b>Sti</b></td>") Do While Not objKunder.EOF Response.Write("</tr>") Response.Write("<td align=left class=""text""><a href='kunde-ret.asp?id=" & objKunder("Id") & "'>Ret</a></td>") Response.Write("<td align=left class=""text""><a href='valg.asp?id=" & objKunder("Id") & "'>Vis</a></td>") Response.Write("<td align=left class=""text""><a href='delete.asp?id=" & objKunder("Id") & "'>Slet</a></td>") Response.Write("<td align=left class=""text"">"&objKunder("brugernavn") & "</td>") Response.Write("<td align=left class=""text"">"&objKunder("adgangskode")&"</td>") Response.Write("<td align=left class=""text"">"&objKunder("placering")&"</td>") Response.Write("</tr>") objKunder.MoveNext Loop Response.Write("<td align=left class=""text""><a href='input.asp'>Opret ny</a></td>") Response.Write("</tr>") Response.Write("</table>") ver igennem' Conn.Close Set Conn=nothing %> </body> </html>
19. november 2005 - 18:46
#6
Det giver ikke meget mening at sætte den sessionvariabel for den første id du møder. Mon ikke du skal fjerne linien på denne side, og på de efterfølgende sider bruge request.querystring("id") for det er vel det du skal ud fra fx Response.Write("<td align=left class=""text""><a href='valg.asp?id=" & objKunder("Id") & "'>Vis</a></td>")
19. november 2005 - 19:34
#7
Det giver desværre samme fejl, session har altid drillet mig !
19. november 2005 - 20:41
#8
Det kommer jo så an på hvad du skriver.
19. november 2005 - 21:57
#9
Bl.a. sådan her. har jeg sat det ind: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> <meta name="generator" content="Adobe GoLive 6"> <title>kunde-ret</title> <link href="skema-analyse.css" rel="stylesheet" media="screen"> </head> <body bgcolor="#DCDCDC"> <h4> <% Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=C:\Internet\ProLight-kunde-login\kunde.mdb" Conn.Open DSN 'SQL = "Select * FROM table_user WHERE Id=" & Session("Id") 'Set rs = Conn.Execute(SQL) request.querystring("id") Response.Write "Rettelse af: " %> </h4> <form action="updateit.asp" method="post" name="kunde_ret" id="kunde_ret"> <h1><font face="Verdana">Rettelse<input type="hidden" name="ID" value='<%=session("Id")%>'></font></h1> <table width="500" border="0" cellspacing="2" cellpadding="0"> <tr> <td width="117">Bruger</td> <td width="377"><input name="bruger" type="text" id="bruger" value='<%=rs("brugernavn")%>' size="40"></td> </tr> <tr> <td>Adgangskode</td> <td><input name="adgang" type="text" id="adgang" value='<%=rs("adgangskode")%>' size="40"></td> </tr> <tr> <td>Placering</td> <td><input name="placering" type="text" id="placering" value='<%=rs("placering")%>' size="70" ></td> </tr> </table> <h3><font face="Verdana"> <input type="submit" name="submit" value="Godkend de indtastede data" tabindex="4"> </font></h3> <p></p> <p></p> </form> <p></p> </body> </html>
19. november 2005 - 21:59
#10
Det hjælper ikke noget at skrive request.querystring("id") på det sted. Du skal bruge det på de sider hvor du vil bruge id-et fra adresselinien.
19. november 2005 - 22:04
#11
Undskyld ....nu står jeg total af! Hvad mener du med det ?
19. november 2005 - 22:52
#12
Det ser ud til at være på den side, så ret 'SQL = "Select * FROM table_user WHERE Id=" & Session("Id") 'Set rs = Conn.Execute(SQL) request.querystring("id") til SQL = "Select * FROM table_user WHERE Id=" & request.querystring("id") Set rs = Conn.Execute(SQL) og se hvad der sker
20. november 2005 - 08:52
#13
Man skal bare have fat i de rigtige mennesker ....masser af tak ! Smid et svar, og pointene bliver overført øjeblikkelig.
20. november 2005 - 10:24
#14
Jeg samler slet ikke på point, tak.
20. november 2005 - 10:33
#15
Åhhh, det er rigtigt! ...men det føles lidt forkert selv at tage pointene.
Kurser inden for grundlæggende programmering