Avatar billede pretsmann Nybegynder
30. december 2004 - 17:19 Der er 10 kommentarer og
1 løsning

Opdatering af felt

Hej, er der en venlig sjæl der kan fortælle mig hvorfor jeg ikke kan få lov at opdatere uden at få flg. fejl:

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

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

/login_admin.asp, line 399


Koden ser således ud:

Bliver kaldt fra:
<a href="login_admin.asp?mode=ejerprofil&Id=<% = rs.Fields("brugerId")%>"><%=rs("brugerNavn")%></a>               

<% if mode = "ejerprofil" then
               
                        'Tjecker om admin er logget ind
                        if session("adminnavn") = "" then
                            Response.Redirect("login_admin.asp?mode=login")
                        end if
                       
               
                        'Henter brugerens profil
                        Set rs = Server.CreateObject ("ADODB.Recordset")
                        rs.Open "SELECT * FROM bruger WHERE brugerId = " & Request.QueryString("Id"), conn, 2, 2

                       
                            if Request.ServerVariables("REQUEST_METHOD") = "POST" then

                                    'Opdaterer felterne
                                    rs.update
                                    rs("brugerkode") = Server.HTMLEncode(Request.QueryString("adgangskode"))
                                    rs("brugerEjer") = Server.HTMLEncode(Request.QueryString("Ejer"))
                                    rs("brugerAdresse") = Server.HTMLEncode(Request.QueryString("Adresse"))
                                    rs("brugerPostnr") = Server.HTMLEncode(Request.QueryString("Postnr"))
                                    rs("brugerBy") = Server.HTMLEncode(Request.QueryString("By"))
                                    rs("brugerLand") = Server.HTMLEncode(Request.QueryString("Land"))
                                    rs("brugerTelefon") = Server.HTMLEncode(Request.QueryString("Telefon"))
                                    rs("brugeremail") = Server.HTMLEncode(Request.QueryString("email"))
                                    rs("brugerHjemmeside") = Server.HTMLEncode(Request.QueryString("hjemmeside"))
                                    rs.update

                end if %>


                    <form method="post" action="login_admin.asp?mode=ejerprofil">   
                    <table cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse" bordercolor="#111111" width="564">
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td height="25" colspan="2" width="262"><i><font face="Verdana" size="1">Du er logget ind som <%=rs("brugernavn")%></font></i></td>
                            <td height="25" width="282">&nbsp;</td>
                        </tr>
                        <tr>
                            <td width="20" height="33" valign="top">&nbsp;</td>
                            <td height="33" colspan="2" valign="top" width="262"><font class="small">
                            <b><font size="2">Ejer Profil</font></b></td>
                            <td height="33" valign="top" width="282">&nbsp;</td>
                        </tr>
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Oprettet</font></td>
                            <td height="20" width="152"><font class="small"><%=rs("brugerDato")%></font></td>
                            <td height="20" width="282">&nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Brugernavn</font></td>
                            <td height="20" width="152"><font class="small"><%=rs("brugernavn")%></font>&nbsp;</td>
                            <td height="20" width="282">&nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Adgangskode</font></td>
                            <td height="20" width="152">
                            <input type="text" name="adgangskode" value="<%=rs("brugerKode")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Ejer</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Ejer" value="<%=rs("brugerEjer")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Adresse</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Adresse" value="<%=rs("brugerAdresse")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Postnr</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Postnr" value="<%=rs("brugerPostnr")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">By</font></td>
                            <td height="20" width="152">
                            <input type="text" name="By" value="<%=Rs("brugerBy")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Land</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Land" value="<%=rs("brugerLand")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Telefon</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Telefon" value="<%=rs("brugerTelefon")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">E-mail</font></td>
                            <td height="20" width="152">
                            <input type="text" name="email" value="<%=rs("brugeremail")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp;</td>
                        </tr>
                       
                        <tr>
                            <td width="20" height="20">&nbsp;</td>
                            <td width="110" height="20"><font class="small">Hjemmeside</font></td>
                            <td height="20" width="152">
                            <input type="text" name="Hjemmeside" value="<%=rs("brugerHjemmeside")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
                            <td height="20" width="282">
                            &nbsp; (undlad venligst http://)</td>
                        </tr>

                        <tr>
                            <td width="20" height="10"></td>
                            <td width="110" height="10" style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom: 1px solid #000000"></td>
                            <td height="10" style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom: 1px solid #000000" width="152"></td>
                            <td height="10" width="282"></td>
                        </tr>

                        <tr>
                            <td width="20" height="10"></td>
                            <td width="110" height="10"></td>
                            <td height="10" width="152"></td>
                            <td height="10" width="282"></td>
                        </tr>

                        <tr>
                            <td width="20">&nbsp;</td>
                            <td bordercolor="#ffffff" width="262" colspan="2">
                            <input type="submit" value="Gem Ændringer" id=submit1 name=submit1 style="font-family: Verdana; font-size: 8 pt"></td>
                            <td bordercolor="#ffffff" width="282">
                            &nbsp;</td>
                        </tr>
                           
                    </table>
                        </form>
                   

                <% end if %>
Avatar billede niux Nybegynder
30. december 2004 - 18:02 #1
jeg ved det ikke men prøv at lave <%= rs.Fields("brugerId")%>"> om til <%=rs("brugerId")%>
Avatar billede softspot Forsker
30. december 2004 - 19:46 #2
Jeg kan ikke helt gennemskue hvilke linie der er 399, men jeg gætter på at det er rs.Open "SELECT..." osv.

Jeg spekulerer over hvilken type brugerId er i databasen (numerisk)? I så fald hvad sker der hvis QueryString er tom? Test evt. om QueryString("Id") har noget indhold når siden fejler.

Hvis brugerId er en streng, så skal der '...' omkring QueryString("Id") i din query.

Hvis dette ikke hjælper dig så post evt. lidt flere informationer om hvornår problemet opstår og hvad du sender med i kaldet.
Avatar billede pretsmann Nybegynder
01. januar 2005 - 21:02 #3
Når jeg klikker på et brugernavn skal der vises en side med brugerens oplysninger, som man så skal kunne ændre/opdatere.

Når jeg klikker på brugernavnet hentes den korrekte side - men hvis jeg trykker "gem ændringer" kommer fejlen....

Hvis jeg  '...' omkring QueryString("Id") i query bliver der hentet en anden brugers oplysninger med der kan gemmes (men altså i den forkerte bruger)
Avatar billede softspot Forsker
01. januar 2005 - 22:23 #4
Prøv at fjerne rs.update før du opdaterer den record du har fundet...

Se i øvrigt
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthupdate.asp

for en beskrivelse af hvordan Update fungerer.
Avatar billede tjaz Nybegynder
06. januar 2005 - 01:25 #5
Sådan her skulle det gerne virke:

Linket hvor det bliver kaldt fra:
<a href="login_admin.asp?mode=ejerprofil&Id=<%=rs("brugerId")%>"><%=rs("brugerNavn")%></a>               

Mode "Ejerprofil" i login_admin.asp
<%
if mode = "ejerprofil" then

'Tjecker om admin er logget ind
if session("adminnavn") = "" then
Response.Redirect("login_admin.asp?mode=login")
end if


'Henter brugerens profil
Set rs = Server.CreateObject ("ADODB.Recordset")
rs.Open "SELECT * FROM bruger WHERE brugerId = " & Request.QueryString("Id"), conn, 2, 2


if Request.ServerVariables("REQUEST_METHOD") = "POST" then
'Opdaterer felterne
rs("brugerkode") = Server.HTMLEncode(Request.QueryString("adgangskode"))
rs("brugerEjer") = Server.HTMLEncode(Request.QueryString("Ejer"))
rs("brugerAdresse") = Server.HTMLEncode(Request.QueryString("Adresse"))
rs("brugerPostnr") = Server.HTMLEncode(Request.QueryString("Postnr"))
rs("brugerBy") = Server.HTMLEncode(Request.QueryString("By"))
rs("brugerLand") = Server.HTMLEncode(Request.QueryString("Land"))
rs("brugerTelefon") = Server.HTMLEncode(Request.QueryString("Telefon"))
rs("brugeremail") = Server.HTMLEncode(Request.QueryString("email"))
rs("brugerHjemmeside") = Server.HTMLEncode(Request.QueryString("hjemmeside"))
rs.update
end if
%>


<form method="post" action="login_admin.asp?mode=ejerprofil&Id=<%=rs("brugerId")%>">   
<table cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse" bordercolor="#111111" width="564">
<tr>
<td width="20" height="20">&nbsp;</td>
<td height="25" colspan="2" width="262"><i><font face="Verdana" size="1">Du er logget ind som <%=rs("brugernavn")%></font></i></td>
<td height="25" width="282">&nbsp;</td>
</tr>
<tr>
<td width="20" height="33" valign="top">&nbsp;</td>
<td height="33" colspan="2" valign="top" width="262"><font class="small">
<b><font size="2">Ejer Profil</font></b></td>
<td height="33" valign="top" width="282">&nbsp;</td>
</tr>
<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Oprettet</font></td>
<td height="20" width="152"><font class="small"><%=rs("brugerDato")%></font></td>
<td height="20" width="282">&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Brugernavn</font></td>
<td height="20" width="152"><font class="small"><%=rs("brugernavn")%></font>&nbsp;</td>
<td height="20" width="282">&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Adgangskode</font></td>
<td height="20" width="152">
<input type="text" name="adgangskode" value="<%=rs("brugerKode")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Ejer</font></td>
<td height="20" width="152">
<input type="text" name="Ejer" value="<%=rs("brugerEjer")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Adresse</font></td>
<td height="20" width="152">
<input type="text" name="Adresse" value="<%=rs("brugerAdresse")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Postnr</font></td>
<td height="20" width="152">
<input type="text" name="Postnr" value="<%=rs("brugerPostnr")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">By</font></td>
<td height="20" width="152">
<input type="text" name="By" value="<%=Rs("brugerBy")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Land</font></td>
<td height="20" width="152">
<input type="text" name="Land" value="<%=rs("brugerLand")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Telefon</font></td>
<td height="20" width="152">
<input type="text" name="Telefon" value="<%=rs("brugerTelefon")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">E-mail</font></td>
<td height="20" width="152">
<input type="text" name="email" value="<%=rs("brugeremail")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp;</td>
</tr>

<tr>
<td width="20" height="20">&nbsp;</td>
<td width="110" height="20"><font class="small">Hjemmeside</font></td>
<td height="20" width="152">
<input type="text" name="Hjemmeside" value="<%=rs("brugerHjemmeside")%>" size="24" style="font-family: Verdana; font-size: 8 pt"></td>
<td height="20" width="282">
&nbsp; (undlad venligst http://)</td>
</tr>

<tr>
<td width="20" height="10"></td>
<td width="110" height="10" style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom: 1px solid #000000"></td>
<td height="10" style="border-left-width: 1; border-right-width: 1; border-top-width: 1; border-bottom: 1px solid #000000" width="152"></td>
<td height="10" width="282"></td>
</tr>

<tr>
<td width="20" height="10"></td>
<td width="110" height="10"></td>
<td height="10" width="152"></td>
<td height="10" width="282"></td>
</tr>

<tr>
<td width="20">&nbsp;</td>
<td bordercolor="#ffffff" width="262" colspan="2">
<input type="submit" value="Gem Ændringer" id=submit1 name=submit1 style="font-family: Verdana; font-size: 8 pt"></td>
<td bordercolor="#ffffff" width="282">
&nbsp;</td>
</tr>

</table>
</form>
<% end if %>
Avatar billede pretsmann Nybegynder
06. januar 2005 - 19:26 #6
Så får jeg flg. fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] Field 'bruger.brugerKode' cannot be a zero-length string.

/login_admin.asp, line 414
Avatar billede tjaz Nybegynder
06. januar 2005 - 21:24 #7
Skift din update ud med det her:

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
'Opdaterer felterne
rs("brugerkode") = Server.HTMLEncode(Request.Form("adgangskode"))
rs("brugerEjer") = Server.HTMLEncode(Request.Form("Ejer"))
rs("brugerAdresse") = Server.HTMLEncode(Request.Form("Adresse"))
rs("brugerPostnr") = Server.HTMLEncode(Request.Form("Postnr"))
rs("brugerBy") = Server.HTMLEncode(Request.Form("By"))
rs("brugerLand") = Server.HTMLEncode(Request.Form("Land"))
rs("brugerTelefon") = Server.HTMLEncode(Request.Form("Telefon"))
rs("brugeremail") = Server.HTMLEncode(Request.Form("email"))
rs("brugerHjemmeside") = Server.HTMLEncode(Request.Form("hjemmeside"))
rs.update
end if
Avatar billede pretsmann Nybegynder
06. januar 2005 - 21:44 #8
Det er jo perfekt...

Takker mange gange :-)
Avatar billede tjaz Nybegynder
06. januar 2005 - 22:07 #9
np ... smid en karma besked så bliver jeg dobbelt så glad :D
Avatar billede pretsmann Nybegynder
06. januar 2005 - 22:12 #10
øhh jo, hvad er det??????????
Avatar billede tjaz Nybegynder
06. januar 2005 - 22:43 #11
bare glemt det :)
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