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

Problema al guardar recordset en base de datos

Estas en el tema de Problema al guardar recordset en base de datos en el foro de ASP Clásico en Foros del Web. Hola maestros, estoy intentando introducir un nuevo registro en una base de datos a través del objeto recordset. Como no podía conseguirlo, escribí este código ...
  #1 (permalink)  
Antiguo 16/11/2012, 03:16
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 19 años, 1 mes
Puntos: 1
Problema al guardar recordset en base de datos

Hola maestros,
estoy intentando introducir un nuevo registro en una base de datos a través del objeto recordset. Como no podía conseguirlo, escribí este código en el que siempre inserto los mismos valores, pero aun así no se guardan en la base de datos!! ¿Qué hago mal?


Código:
<%
'1. Conexión con la Base de datos
dim Conexion, Productos, Ofertas
set Conexion=server.CreateObject("ADODB.Connection")
set Productos=server.CreateObject("ADODB.Recordset")	
set Ofertas=server.CreateObject("ADODB.Recordset")
Conexion.ConnectionString="Driver={MySQL ODBC 5.1 Driver};Port=3308;Server=localhost;Database=xxx;User=xxx;Password=xxx;"	

Conexion.Open
Productos.Open "select * from Productos",Conexion
'Recorro toda la tabla de productos
While Not Productos.EOF            	        
		Ofertas.Open "Select * from Ofertas_anuales_proveedores",Conexion,3,3			  	 			
		Ofertas.AddNew		
		Ofertas("Cod_prov")= 1		
		Ofertas("Cod_prod")= "GEG0666"														
		Ofertas.Update						  								
		Ofertas.Close
		Productos.Movenext				
Wend
	
Productos.Close
Conexion.Close
Set Productos=Nothing
Set Conexion=Nothing
Set Ofertas=Nothing
%>
  #2 (permalink)  
Antiguo 16/11/2012, 07:09
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Problema al guardar recordset en base de datos

Buenos días,

No he probado tu código, pero creo que el problema está en el modo de apertura del recordset.

Ofertas.Open "Select * from Ofertas_anuales_proveedores",Conexion,3,3

El primer valor "3", indica el que el tipo de cursor es "adOpenStatic", el cual no permite modificaciones en los registros.
Prueba cambiar ese valor por el "2" que es adOpenDynamic

Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #3 (permalink)  
Antiguo 16/11/2012, 08:11
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: Problema al guardar recordset en base de datos

Hola Javier,
primero muchas gracias por tu respuesta!! He probado lo que decías (cambiar el modo de apertura del recordset) a 2,3 (y todas las combinaciones posibles) y la cosa sigue sin guardar el registro... Esto es muuuuy raro
  #4 (permalink)  
Antiguo 19/11/2012, 12:07
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 9 meses
Puntos: 31
Respuesta: Problema al guardar recordset en base de datos

Disculpas por la respuesta tardía, pero he probado el código y funciona perfectamente con una base SQL Server (no tengo para probar con mysql).
Tal vez el error este en algun campo que va con mayúsculas o algo de eso.
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #5 (permalink)  
Antiguo 20/11/2012, 03:01
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 19 años, 1 mes
Puntos: 1
Respuesta: Problema al guardar recordset en base de datos

Hola Javier, quedas disculpado (faltaría más!!).
Es muy extraño, pero ayer me dio por crear un nuevo documento asp y hacer copy paste del código que ya tenía y mágicamente ha funcionado!! No sé, me imagino que sería algún tema del propio archivo asp...

Muchas gracias por tomarte la molestia de probarlo. Eres un crack!!

Etiquetas: recordset, server, tabla
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:49.