Foros del Web » Programando para Internet » ASP Clásico »

Actulizar una base de datos con Access

Estas en el tema de Actulizar una base de datos con Access en el foro de ASP Clásico en Foros del Web. Hola como estan Pido auxilio para que por favor me ayuden a resolver un pequeño problema de actulización de una base de datos en Access ...
  #1 (permalink)  
Antiguo 29/06/2009, 18:09
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Actulizar una base de datos con Access

Hola como estan

Pido auxilio para que por favor me ayuden a resolver un pequeño problema de actulización de una base de datos en Access con Asp. Utilizo la sentencia if con update pero me actuliza toda la columna y lo que quiero que actualice es solamente el número de cuenta que el usuario teclea. Que debo hacer por favor gracias.

PD. Al utilizar el comando LIKE actualiza toda la columna de la base de datos y si cambia el comando por una igualdad (=) la base de datos no se actuliza.

El código es el siguiente:

val=Request.Form("txtcuenta")
if(voto=1) then
'Si se cumple el IF, sumamos uno al campo correspondiente.
sql= "UPDATE alumnos set Pregunta1='5' Where Ncuenta LIKE '%"&Request.QueryString("val")&"%'"
con.Execute(sql)
elseif(voto=2) then
'sql=
con.Execute "UPDATE alumnos set Pregunta1='2' Where Ncuenta='" & valor & "'"
'con.Execute(sql)
elseif(voto=3) then
'sql=
con.Execute "UPDATE alumnos set Pregunta1='3' Where Ncuenta='" & valor & "'"
'con.Execute(sql)
elseif(voto=4) then
'sql=
con.Execute"UPDATE alumnos set Pregunta1='4' Where Ncuenta='" & valor & "'"
'con.Execute(sql)
  #2 (permalink)  
Antiguo 29/06/2009, 20:02
Avatar de adiazm  
Fecha de Ingreso: julio-2008
Ubicación: Santiago
Mensajes: 51
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Actulizar una base de datos con Access

Compadre, el error está en el request.querystring....

Si ya estás rescatando el valor con el request.form("txtcuenta"), se supone que la variable val tiene el valor de este request, por lo que tu query quedaría así:

sql= "UPDATE alumnos set Pregunta1='5' Where Ncuenta='"&val&"'"
con.Execute(sql)

siempre y cuando tu campo Ncuenta sea un campo texto o memo. En el caso que sea numero, saca las comillas simples...

además, ten en cuenta que tu ElseIf está mal consultado:

con.Execute "UPDATE alumnos set Pregunta1='2' Where Ncuenta='" & valor & "'"

¿De donde rescatas el dato para la variable valor ? y además, se actualiza así:

sqlUpdate="UPDATE alumnos set Pregunta1='3' Where Ncuenta='" & valor & "'"
con.execute(sqlUpdate)
  #3 (permalink)  
Antiguo 30/06/2009, 19:52
Avatar de adiazm  
Fecha de Ingreso: julio-2008
Ubicación: Santiago
Mensajes: 51
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Actulizar una base de datos con Access

pero cuenta si te sirvió o no..
  #4 (permalink)  
Antiguo 01/07/2009, 14:19
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Actulizar una base de datos con Access

Gracias por la ayuda pero lo que pasa o no se que estoy haciendo mal no actualiza la base de datos, ya corregi lo que me dices pero que es .......


<%
dim sql,con,rs,color,valor,dato,val
set con = server.createObject("ADODB.Connection")
con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & server.MapPath("alumnos.mdb")
set rs = server.CreateObject("ADODB.Recordset")

val=Request.Form("txtcuenta")
voto = Request.Form("mismo")

if(voto = 1) then
sql= "UPDATE alumnos set Pregunta1='1' Where Ncuenta = '"&val&"'"
con.Execute(sql)
elseif (voto = 2) then
sql= "UPDATE alumnos set Pregunta1='2' Where Ncuenta = '"&val&"'"
con.Execute(sql)
elseif (voto = 3) then
sql="UPDATE alumnos set Pregunta1='3' Where Ncuenta= '"&val&"'"
con.Execute(sql)
elseif(voto = 4) then
sql="UPDATE alumnos set Pregunta1='4' Where Ncuenta= '"&val&"'"
con.Execute(sql)
end if

%>
  #5 (permalink)  
Antiguo 02/07/2009, 05:07
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Actulizar una base de datos con Access

Hola

Prueba así

val=Request.Form("txtcuenta")
voto = CInt(Request.Form("mismo"))

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 02/07/2009, 08:15
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Actulizar una base de datos con Access

Hola te gradezco mucho tu ayuda pero ya verifique y cuando entra a la sentencia IF la variable val pierde su valor esto es el número de cuenta ya no aparece por que lo que hice fue insertar en otra tabla el número de cuenta con la respuesta adecuada y solamente actualiza ese campo y el otro lo deja en blanco.

Queeeeeeee debo haceeeeeeeer pooooooor faaaavor
  #7 (permalink)  
Antiguo 02/07/2009, 12:15
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Actulizar una base de datos con Access

Hola, quizás estoy espeso y por ello no ha entendido nada

Cita:
Iniciado por Truga Ver Mensaje
Hola te gradezco mucho tu ayuda pero ya verifique y cuando entra a la sentencia IF la variable val pierde su valor esto es el número de cuenta ya no aparece por que lo que hice fue insertar en otra tabla el número de cuenta con la respuesta adecuada y solamente actualiza ese campo y el otro lo deja en blanco.

Queeeeeeee debo haceeeeeeeer pooooooor faaaavor
¿Como que val pierde su valor?

Hagamos una prueba

Código asp:
Ver original
  1. val=Request.Form("txtcuenta")
  2. voto = Request.Form("mismo")
  3. Response.Write val & "<br />"
  4.  
  5. if(voto = 1) then
  6. Response.Write val
  7. elseif (voto = 2) then
  8.     Response.Write val
  9. elseif (voto = 3) then
  10.     Response.Write val
  11. elseif(voto = 4) then
  12.     Response.Write val
  13. end if

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 02/07/2009, 21:00
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: Actulizar una base de datos con Access

val=Request.Form("txtcuenta")
voto = Request.Form("mismo")

sql= "UPDATE alumnos set Pregunta1='"&voto &"' Where Ncuenta = '"&val&"'"
con.Execute(sql)
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
  #9 (permalink)  
Antiguo 06/07/2009, 14:31
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Actulizar una base de datos con Access

Muchaaaaassssss gracias por la ayuda ahora con la úlitma sugerencia que me dieron quite completamente el IF y deje sola la instrucción ya que si voto toma los valores que necesito es mas que suficiente pero el detalle es que o me dice que la sintaxis esta mal o de plano lo actualiza nada o me pone un cero en el campo de Pregunta1. Tambien hice la prueba para Pregunta2 pero en esa de plano no hace nada.

Queeeeeee haaaaaagooooooo por faaaaaavooooooor
  #10 (permalink)  
Antiguo 06/07/2009, 14:45
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Actulizar una base de datos con Access

Hola

Cita:
Iniciado por Truga Ver Mensaje
Muchaaaaassssss gracias por la ayuda ahora con la úlitma sugerencia que me dieron quite completamente el IF y deje sola la instrucción ya que si voto toma los valores que necesito es mas que suficiente pero el detalle es que o me dice que la sintaxis esta mal o de plano lo actualiza nada o me pone un cero en el campo de Pregunta1. Tambien hice la prueba para Pregunta2 pero en esa de plano no hace nada.

Queeeeeee haaaaaagooooooo por faaaaaavooooooor
El error de sintaxis puede ser debido a que el campo Pregunta1 se numérico y estás intentando inserta texto.
Si no inserta nada puede ser por que el valor de voto no es ni 1,2,3,4 o por que los valores del campo Ncuenta no coinciden con el valor de val.
Cuando te inserta cero ... ni idea

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #11 (permalink)  
Antiguo 10/07/2009, 14:34
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Sonrisa Respuesta: Actulizar una base de datos con Access

Hola de nuevo como están estuve probando de diferentes maneras hasta que descubrí que una de las variables pierde el dato de la siguiente manera:

voto=request.form("mismo")
sql = "UPDATE alumnos SET Pregunta1=voto WHERE Ncuenta='"& like'" & request.form("txtcuenta") & "')"

con.Execute(sql)

También probé de esta otra manera:

sql= "UPDATE alumnos Set Pregunta1 = '" & request.form("mismo") & "' Where (Ncuenta like'" & request.form("txtcuenta") & "')"
con.Execute(sql)

En esta segunda funciona pero el valor de la Pregunta1 da de alta un cero y no el valor que toma cuando el usuario selecciona la respuesta (1, 2, 3 o 4).

Y por último también probé:

sql = "UPDATE alumnos SET Pregunta1='"&voto&"' WHERE Ncuenta='"& like'" & request.form("txtcuenta") & "')"

Ya me doy no se que hacer.

Saludos.
  #12 (permalink)  
Antiguo 10/07/2009, 15:18
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Actulizar una base de datos con Access

Hola

Varias observaciones

+ ¿Qué es "like"?
+ Verifica que los campos Pregunta1 y NCuenta son de tipo texto
+ Haz un bug, para ver que es lo que está llegando
sql = "UPDATE alumnos SET Pregunta1='"&voto&"' WHERE Ncuenta= '"request.form("txtcuenta") & "'"
response.write sql
response.end

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #13 (permalink)  
Antiguo 10/07/2009, 19:28
Avatar de RucarMaN  
Fecha de Ingreso: julio-2003
Ubicación: Caripito Edo Monagas
Mensajes: 169
Antigüedad: 21 años, 9 meses
Puntos: 1
Respuesta: Actulizar una base de datos con Access

Código asp:
Ver original
  1. <form action="" method=post>
  2. <input type=text name=txtcuenta><br>
  3. <INPUT TYPE=RADIO NAME="mismo" VALUE="1">Uno<BR>
  4. <INPUT TYPE=RADIO NAME="mismo" VALUE="2">Dos<BR>
  5. <INPUT TYPE=RADIO NAME="mismo" VALUE="3">Tres<br>
  6. <input type=submit value=go name=go>
  7. </form>
  8. <% if request.form("go")="go" then
  9. val=Request.Form("txtcuenta")
  10. voto = Request.Form("mismo")
  11. SQL= "UPDATE alumnos SET Pregunta1='"& voto &"' WHERE Ncuenta = '"& val &"'"
  12. response.write SQL
  13. end if%>
prueba esto
__________________
Con la ayuda de todos seremos mejores...

http://www.pemoweb.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:22.