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

Modificar tabla access con asp

Estas en el tema de Modificar tabla access con asp en el foro de ASP Clásico en Foros del Web. Buenas c: Tengo esta pag html...mi problema es que esta pag sirve para agregar registros a una BD access lo cual lo hace muy bien ...
  #1 (permalink)  
Antiguo 12/12/2014, 09:23
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Modificar tabla access con asp

Buenas c:

Tengo esta pag html...mi problema es que esta pag sirve para agregar registros a una BD access lo cual lo hace muy bien pero mi problema es que en vez de agregar quisiera modificar los campos.
Se que en teoria es algo facil pero no entiendo muy bien como seria el codigo .

Código HTML:
 <% 
   If Not Request.QueryString("Message") = "True" Then 
  %> 
     <p> 
    <FORM NAME="GuestBook1" METHOD="GET" ACTION="AgregarBD.asp"> 
     <table> 
       <tr> 
       <td><font face="arial">Titulo:</td><td><INPUT TYPE="TEXT" NAME="tit" size="30"></td> 
       </tr><tr> 
       <td><font face="arial">Descripcion:</td><td><INPUT TYPE="TEXT" NAME="des" size="30"></td> 
       </tr><tr> 
       <td><font face="arial">Coordenada x:</td><td><INPUT TYPE="TEXT" NAME="coorx" size="30"></td> 
       </tr><tr> 
      <td><font face="arial">Coordenada y:</td><td><INPUT TYPE="TEXT" NAME="coory" size="30"></td> 
	   </tr><tr>
   <td><font face="arial">Identificador:</td><td><INPUT TYPE="TEXT" NAME="iden" size="30"></td> 
       </tr> 
     </table> 
    
     </p> 

     <p> 
     <INPUT TYPE="HIDDEN" NAME="Message" VALUE="True"> 
     <INPUT TYPE="SUBMIT" VALUE="Guardar Datos"> 
     </FORM> 
     </p> 

  <% 
   Else 
     dim strTB1, strTB2, strTB3, strTB4, strMB1, strCommand 
     strTB1 = Server.HTMLEncode(Request.QueryString("tit")) 
     strTB2 = Server.HTMLEncode(Request.QueryString("des")) 
     strTB3 = Server.HTMLEncode(Request.QueryString("coorx")) 
     strTB4 = Server.HTMLEncode(Request.QueryString("coory")) 
     strMB1 = Server.HTMLEncode(Request.QueryString("iden")) 
     
  
	if strTB1="" and strTB2="" and strTB3="" and strTB4="" then
		Response.Write("Debe ingresar los datos...")
	Elseif (not isNumeric(StrMB1)) then
		 Response.Write("...")
	else
     strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Nueva carpeta\PRUEBADB.mdb;"
                     
     Set objConn = server.createobject("ADODB.Connection")  

     objConn.Open strProvider  
	 
     strCommand = "INSERT INTO grabar (titulo, descripcion, coordenadax, coordenaday, identificador) VALUES ('" 
     strCommand = strCommand & strTB1 & "','" & strTB2 & "','" & strTB3 & "','" & strTB4 & "','" & strMB1 
     strCommand = strCommand & "')" 

	 
     objConn.Execute strCommand 

     Response.Write("Datos agregados correctamente.") 
	 end if
	
     End If 
  %> 

	<center>
        <a href="AgregarBD.asp">Agregar otro registro</a> 
        <br><br>
		<a href="index.html">Volver ala página de Inicio</a>
		
		
	</center>
	
  </font> 
  <body> 


  </body> 
  </html> 
Se que seria modificar esto :

Código HTML:
 strCommand = "INSERT INTO grabar (titulo, descripcion, coordenadax, coordenaday, identificador) VALUES ('" 
     strCommand = strCommand & strTB1 & "','" & strTB2 & "','" & strTB3 & "','" & strTB4 & "','" & strMB1 
     strCommand = strCommand & "')" 

	 
     objConn.Execute strCommand 

     Response.Write("Datos agregados correctamente.") 
Pero como seria?
Gracias de antemano.
  #2 (permalink)  
Antiguo 12/12/2014, 10:09
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

UPDATE

http://www.w3schools.com/sql/sql_update.asp
  #3 (permalink)  
Antiguo 12/12/2014, 10:46
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Seria algo como esto??

Código HTML:
     strCommand = "UPDATE grabar SET titulo= " & strTB1 & " , descripcion= " & strTB2 & " , coordenadax= " & strTB3 & " , coordenaday= " & strTB4 
     strCommand = strCommand  & " WHERE identificador ='" & request.querystring("identificador")&"'"
enviando junto con el campo que quiero modificar el textbox ?
o esta mal?
  #4 (permalink)  
Antiguo 12/12/2014, 11:03
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Si, OJO con los campos que precises envolver entre comillas.

imprime en pantalla la sentencia SQL para verificar antes de editar la base de datos

Por ejemplo:
UPDATE grabar SET titulo = 'TITULO MUY BONITO', descripcion = 'DESCRIPCION BIEN DESCRITA', etc. etc..... WHERE identificador = 2



Y si estás en una base de datos que no es de "pruebas", HAZ COPIA DE SEGURIDAD ANTES

Haz pruebas y cuentanos como vas.
  #5 (permalink)  
Antiguo 12/12/2014, 11:20
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Claro, pero lo que yo estoy poniendo entre comillas son los nombres de los txt , osea que yo lo que escriba en los textbox reemplaze lo que ya estaba escrito en la base de datos.


Lo que tu me dices es dar los datos desde la misma instruccion sql, pero yo quiero ponerlos desde los txt.

ME lograste entender?

Creo que para eso tendria que primero mostrar/llamar los datos segun el identificador en los textbox y luego ya guardarlos.

Algo asi?
  #6 (permalink)  
Antiguo 12/12/2014, 11:27
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Mira, utilizando lo que tu me dijiste :

Código HTML:
     strCommand = "UPDATE grabar SET titulo='hola' , descripcion='sdgdsggs' , coordenadax='65461' , coordenaday='7973' "
     strCommand = strCommand  & " WHERE identificador ='" & request.querystring("identificador")&"'
Justamente me modifica el registro , pero como te dije mas adelante queria modificar dando yo mismo los valores desde los textbox.
  #7 (permalink)  
Antiguo 12/12/2014, 12:03
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Genial, pues solo te queda recoger los valores del formulario:

request.form("NOMBRE_DEL_TEXTBOXT")

y componerlo en la SQL

strCommand = "UPDATE grabar SET titulo=' " & request.form("NOMBRE_DEL_TEXTBOXT") & " ', descripcion = ' " & request.form("kdkferjkwe etc,etc
  #8 (permalink)  
Antiguo 12/12/2014, 13:40
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Estimado hice los cambios respectivos y seria algo asi :

Código HTML:
     strCommand = "UPDATE grabar SET titulo= " & request.querystring("tit")& " , descripcion= " & request.querystring("des")& " , coordenadax= " & request.querystring("coorx")& " , coordenaday= " & request.querystring("coory")&"'" 
     strCommand = strCommand  & " WHERE identificador ='" & request.querystring("identificador")&"'"
Sin embargo, al ejecutar la aplicacion y darle los valores respectivos a cada textbox me salta este error en el navegador:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis (falta operador) en la expresión de consulta '7973' WHERE identificador ='1''.

/modificar.asp, línea 172

Notese que '7973' vendria a ser el ultimo valo que di y parece que hace conflicto o falta algo mas en la consulta sql.
Que podria ser?
Saludos y gracias por todo
  #9 (permalink)  
Antiguo 12/12/2014, 13:52
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Fijate bien que los valores que son TEXTO, deben ir entre ' ' en la sentencia SQL EJEMPLO:

strCommand = "UPDATE grabar SET titulo=' " & request.form("NOMBRE_DEL_TEXTBOX") & " '

Los valores que son numeros sin ellas

WHERE identificador =" & request.form("NOMBRE_DEL_TEXTBOX")

imprime el valor de strCommand antes del execute para que veamos como queda la sentencia

Tambien es interesante saber que tipo de campos son cada uno en la BD
  #10 (permalink)  
Antiguo 12/12/2014, 14:00
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Estimado eliminado esas comillas en el identificador quedaria asi :

Código HTML:
strCommand = "UPDATE grabar SET titulo= " & request.querystring("tit")& " , descripcion= " & request.querystring("des")& " , coordenadax= " & request.querystring("coorx")& " , coordenaday= " & request.querystring("coory")&"'" 
     strCommand = strCommand  & " WHERE identificador =" & request.querystring("identificador")&""

         
	 
     objConn.Execute strCommand 
Pero sigue apareciendo el mismo error:

Microsoft JET Database Engine error '80040e14'

Error de sintaxis en la cadena en la expresión de consulta '456' WHERE identificador =1'.

/modificar.asp, línea 171

Los campos son estos :

Titulo
Descripcion
Coordenadax
Coordenaday
Identificador
todos son string .
  #11 (permalink)  
Antiguo 12/12/2014, 14:02
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

:D
Comenta la linea objConn.Execute strCommand

Si todos son string, todos deben ir entre comillas. (luego hablaremos acerda del diseño de la BD) ahora centremonos en que te haga bien el UPDATE

Imprime el SQL y pegalo que veamos lo que te devuelve
  #12 (permalink)  
Antiguo 12/12/2014, 14:09
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Mira, al comentar lo que me dijiste , justamente ya no me salta el error y muestra el msj de que el registro a sido modificado ... pero al revisar la BD el registro sigue igual.
Que sera?

el codigo seria esto nada mas :

Código HTML:
 strCommand = "UPDATE grabar SET titulo= " & request.querystring("tit")& " , descripcion= " & request.querystring("des")& " , coordenadax= " & request.querystring("coorx")& " , coordenaday= " & request.querystring("coory")&"'" 
strCommand = strCommand  & " WHERE identificador =" & request.querystring("identificador")&""
  #13 (permalink)  
Antiguo 12/12/2014, 14:12
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Código ASP:
Ver original
  1. strCommand = "UPDATE grabar SET titulo='" & request.querystring("tit")& "' , descripcion= '" & request.querystring("des")& "' , coordenadax= '" & request.querystring("coorx")& "' , coordenaday= '" & request.querystring("coory")&"'"
  2. strCommand = strCommand  & " WHERE identificador ='" & request.querystring("identificador")& "'"
  #14 (permalink)  
Antiguo 12/12/2014, 14:19
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Lamentablemente, al poner tu codigo pasa igual que lo que me paso anteiormente .. que me avisa que modifico satisfactoriamente pero en la BD Access no a pasado nada.

La unica forma de que modifique los valores es dandolos desde la misma instruccion sql :c pero ni modo desde los txtbox...
  #15 (permalink)  
Antiguo 13/12/2014, 11:02
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

¿Quitaste el comentario a la linea objConn.Execute strCommand ?
  #16 (permalink)  
Antiguo 15/12/2014, 10:05
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

NO estimado , sigue con el comentario :

Código HTML:
   strCommand = "UPDATE grabar SET titulo='" & request.querystring("tit")& "' , descripcion= '" & request.querystring("des")& "' , coordenadax= '" & request.querystring("coorx")& "' , coordenaday= '" & request.querystring("coory")&"'" 
      strCommand = strCommand  & " WHERE id ='" & request.querystring("id")& "'"
       
         
	  
     'objConn.Execute strCommand 
       
     Response.Write("Datos Modificados correctamente.") 
	 end if
  #17 (permalink)  
Antiguo 15/12/2014, 10:09
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Pues quitalo :D :D

Pero antes, te vuelvo a pedir , que antes de hacer el execute, imprimas en pantalla el valor de:

strCommand

RESPONSE.WRITE strCommand

Pegalo aquí que veamos lo que se le está mandando a la base de datos
  #18 (permalink)  
Antiguo 16/12/2014, 09:37
 
Fecha de Ingreso: noviembre-2014
Ubicación: Lima-Peru
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Modificar tabla access con asp

Estimado hice lo que me sugeriste y salio esto:


Mapa
Satélite
UPDATE grabar SET titulo='aaaaaaaaaaaaaaaaaaa' , descripcion= 'asdasd' , coordenadax= '123456' , coordenaday= '56456' WHERE id ='47'
Microsoft JET Database Engine error '80040e07'

No coinciden los tipos de datos en la expresión de criterios.

/modificar.asp, línea 172

Saludos
  #19 (permalink)  
Antiguo 16/12/2014, 10:38
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Modificar tabla access con asp

Pues dijiste que todos los campos eran texto, si es asi, debes comprobar el tamaño del campo.

Asegurate que todos los campos de la BD están como texto, al menos para que te funcione el UPDATE, luego ya veremos como mejorar algunas cosas.

La sentencia está bien

Etiquetas: access, asp, modificar, sql
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 05:54.