update

ASP

3 svar · 194 visningar · startad av mikael_a

Medlem sedan mars 2000475 inlägg
Trådstart#1

hej, jag försöker att uppdatera en databas och får då följande fel:

ADODB.Recordset fel '800a0bb9'

Programmet använder felaktiga parametrar, som antingen ligger utanför tillåtet intervall, eller som skapar en inbördes konflikt.

/data/medlem/save.asp, rad 39

koden ser ut så här:

<%

Set DataConn = Server.CreateObject("ADODB.Connection")
Set CmdUpdateRecord = Server.CreateObject("ADODB.Recordset")
DataConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\Inetpub\wwwroot\databas\medlems_register.mdb"

MYSQL = "SELECT medlems_register.* FROM medlems_register WHERE (ID = " & ID & ")"

CmdUpdateRecord.Open MYSQL, DataConn, , 1, 3

CmdUpdateRecord.Fields("user_name") = user_name
CmdUpdateRecord.Fields("password") = password
CmdUpdateRecord.Fields("email") = email
CmdUpdateRecord.Fields("stad") = stad
CmdUpdateRecord.Fields("yrke") = yrke
CmdUpdateRecord.Fields("intresse") = intresse
CmdUpdateRecord.Fields("icq") = icq
CmdUpdateRecord.Fields("hemsida") = password

CmdUpdateRecord.Update

CmdUpdateRecord.Close 
Set CmdUpdateRecord = Nothing
DataConn.Close
Set DataConn = Nothing

%>

<% Response.Redirect "klar.asp" %>

rad 39 är denna:
CmdUpdateRecord.Open MYSQL, DataConn, , 1, 3

formuläret som hämtar uppgifterna ser ut så här:

     <tr>
              <td width="154" bgcolor="#7898A8" height="12"><font face="Verdana" size="1" color="#FFFFFF">Användar
                Namn/Alias:</font></td>
              <td width="260" height="12"><font face="Verdana" size="1"><input type="text" name="user_name" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("user_name")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="1"><font face="Verdana" size="1" color="#FFFFFF">Lösenord:</font></td>
              <td width="260" height="1"><font face="Verdana" size="1"><input name="password" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("password")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="1"><font face="Verdana" size="1" color="#FFFFFF">E-postadress:</font></td>
              <td width="260" height="1"><font face="Verdana" size="1" color="#FFFFFF"><input type="text" name="email" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("email")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="25"><font face="Verdana" size="1" color="#FFFFFF">Stad:</font></td>
              <td width="260" height="25"><font face="Verdana" size="1" color="#FFFFFF"><input name="stad" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("stad")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="25"><font face="Verdana" size="1" color="#FFFFFF">Yrke/Titel:</font></td>
              <td width="260" height="25"><font face="Verdana" size="1" color="#FFFFFF"><input name="yrke" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("yrke")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="25"><font face="Verdana" size="1" color="#FFFFFF">Hemsida:</font></td>
              <td width="260" height="25"><font face="Verdana" size="1" color="#FFFFFF"><input name="hemsida" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("hemsida")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="25"><font face="Verdana" size="1" color="#FFFFFF">Intresse:</font></td>
              <td width="260" height="25"><font face="Verdana" size="1" color="#FFFFFF"><input name="intresse" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("intresse")%>"></font></td>
            </tr>
            <tr>
              <td width="154" bgcolor="#7898A8" height="25"><font face="Verdana" size="1" color="#FFFFFF">Icq
                nummer:</font></td>
              <td width="260" height="25"><font face="Verdana" size="1" color="#FFFFFF"><input name="icq" size="30" style="font-family: Verdana; font-size: 10px; background: #ffffff; color:#000000; border-style: solid; border-color:#000000" value="<%= Session("icq")%>"></font></td>
            </tr>
            <tr>

och, den anropar filen save.asp (se föregående kod)

Medlem sedan dec. 19998 577 inlägg
#2

Måste du inte ange en parameter i varje "fack"? Mellan DataConn och 1 skall det väl finnas en variabel? eller så sitter bara kommat fel...

CmdUpdateRecord.Open MYSQL, DataConn, , 1, 3

Jag brukar inte uppdatera databaser på detta sättet, så jag kan ha fel...

Medlem sedan dec. 19996 721 inlägg
#3

Anger man ingen variabel så används den tidigare angivna inställningen, eller standardinställningen, så den biten är rätt. För att redigera ett recordset direkt ska du öppna tabellen, inte exekvera en query.

Det är mycket bättre att göra en vanlig SQL-update, även om det inte ser lika snyggt ut.

Medlem sedan mars 2000475 inlägg
#4

ok, jag får se om jag kan fixa till det. Kan du emission skicka en fungerande sql-update?

evigt tacksam

248 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)