3 millones en foros del web

Registrarte Políticas Wiki 120segs Ayuda Iniciar sesion

Retroceder   Foros del Web > Programación para sitios web > ASP Clásico
Respuesta
 
Herramientas Desplegado
Antiguo 29-jun-2009, 19:09   #1 (permalink)
 
5 Mensajes
Truga está desconectado
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)
  Responder Citando
Antiguo 29-jun-2009, 21:02   #2 (permalink)
adiazm (Reg: julio-2008)
 
51 Mensajes
Ubicación: Santiago
adiazm está desconectado
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)
  Responder Citando
Antiguo 30-jun-2009, 20:52   #3 (permalink)
adiazm (Reg: julio-2008)
 
51 Mensajes
Ubicación: Santiago
adiazm está desconectado
Respuesta: Actulizar una base de datos con Access

pero cuenta si te sirvió o no..
  Responder Citando
Antiguo 01-jul-2009, 15:19   #4 (permalink)
 
5 Mensajes
Truga está desconectado
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

%>
  Responder Citando
Antiguo 02-jul-2009, 06:07   #5 (permalink)
Colaborador
Adler (Reg: diciembre-2006)
 
2.583 Mensajes
Adler está desconectado
Respuesta: Actulizar una base de datos con Access

Hola

Prueba así

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

Suerte
__________________
El odio es un sentimiento demasiado escaso e importante como para malgastarlo
  Responder Citando
Antiguo 02-jul-2009, 09:15   #6 (permalink)
 
5 Mensajes
Truga está desconectado
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
  Responder Citando
Antiguo 02-jul-2009, 13:15   #7 (permalink)
Colaborador
Adler (Reg: diciembre-2006)
 
2.583 Mensajes
Adler está desconectado
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 originalCopiar
  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
__________________
El odio es un sentimiento demasiado escaso e importante como para malgastarlo
  Responder Citando
Antiguo 02-jul-2009, 22:00   #8 (permalink)
RucarMaN (Reg: julio-2003)
 
126 Mensajes
Ubicación: Caripito Edo Monagas
Enviar un mensaje por MSN a RucarMaN RucarMaN está desconectado
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...
  Responder Citando
Antiguo 06-jul-2009, 15:31   #9 (permalink)
 
5 Mensajes
Truga está desconectado
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
  Responder Citando
Antiguo 06-jul-2009, 15:45   #10 (permalink)
Colaborador
Adler (Reg: diciembre-2006)
 
2.583 Mensajes
Adler está desconectado
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
__________________
El odio es un sentimiento demasiado escaso e importante como para malgastarlo
  Responder Citando
Antiguo 10-jul-2009, 15:34   #11 (permalink)
 
5 Mensajes
Truga está desconectado
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.
  Responder Citando
Antiguo 10-jul-2009, 16:18   #12 (permalink)
Colaborador
Adler (Reg: diciembre-2006)
 
2.583 Mensajes
Adler está desconectado
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
__________________
El odio es un sentimiento demasiado escaso e importante como para malgastarlo
  Responder Citando
Antiguo 10-jul-2009, 20:28   #13 (permalink)
RucarMaN (Reg: julio-2003)
 
126 Mensajes
Ubicación: Caripito Edo Monagas
Enviar un mensaje por MSN a RucarMaN RucarMaN está desconectado
Respuesta: Actulizar una base de datos con Access

Código asp:
Ver originalCopiar
  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...
  Responder Citando
Respuesta
No hay votos aún.
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.

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code está Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado
Trackbacks está Desactivado
Pingbacks está Desactivado
Refbacks está Desactivado



La zona horaria es GMT -6. Ahora son las 12:54.
Políticas de Uso de Foros del Web


Message Board Statistics

SEO by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104