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

Detectar un error com ADODB.Recordset

Estas en el tema de Detectar un error com ADODB.Recordset en el foro de ASP Clásico en Foros del Web. hola, estoy haciendo unas inserciones a una db de un archivo que subo al servidor, yo subo un listado de mails, estos mails se gurdan ...
  #1 (permalink)  
Antiguo 08/02/2008, 06:46
Avatar de maderic_m  
Fecha de Ingreso: agosto-2007
Mensajes: 53
Antigüedad: 16 años, 9 meses
Puntos: 0
Detectar un error com ADODB.Recordset

hola, estoy haciendo unas inserciones a una db de un archivo que subo al servidor, yo subo un listado de mails, estos mails se gurdan en una tabla de una db cuya clave es el email con el fin de evitar emails repetidos, el problema es que no quiero hacer un select por cada cada mail que subo para saber si existe el mail, pero si no hago esto me da error por que la clave ya existe, el codigo que tengo es este:

Código:
For Each Emails in readDatafile
		'response.Write(Emails&"<br />")
		strsql = "SELECT email FROM EmailNewsletter2 WHERE email =" & Emails
		rs.Source = strsql
		rs.Open
		if(rs.EOF) then
			str_sqlavi = "INSERT INTO EmailNewsletter2 (email, activo) VALUES ('"& Emails &", 1)"
			cm.CommandText = str_sqlavi
			cm.Execute
			total_cargados = total_cargados + 1
		else	
			total_excluiodos = total_excluidos + 1
		end if
		rs.close
		total_cargados = total_cargados + 1
	Next
la pregunta es el objeto ADODB tiene algun metodo para saber que da error y no insertar? osea intento insertar, si me da error por que la clave existe no lo inserta, saludos
  #2 (permalink)  
Antiguo 11/02/2008, 21:25
 
Fecha de Ingreso: octubre-2007
Mensajes: 76
Antigüedad: 16 años, 8 meses
Puntos: 1
De acuerdo Re: Detectar un error com ADODB.Recordset

Código:
strsql = "SELECT email FROM EmailNewsletter2 WHERE email =" & Emails
str_sqlavi = "INSERT INTO EmailNewsletter2 (email, activo) VALUES ('"& Emails &", 1)"
al parecer estas dos lineas les falta algo

en la primera el email me imagino que es texto y tu lo estas comparando como si fuese un numero para solucionar esto solo agrega comillas simples, es decir>
Código:
WHERE email ='" & Emails & "'" 
y para la segunda linea le falta una comilla simple
Código:
str_sqlavi = "INSERT INTO EmailNewsletter2 (email, activo) VALUES ('"& Emails &"', 1)"


*
*
*
ojala y sea eso tu error
saludos y ojala y me califiques suerte!!!
  #3 (permalink)  
Antiguo 12/02/2008, 05:48
Avatar de maderic_m  
Fecha de Ingreso: agosto-2007
Mensajes: 53
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Detectar un error com ADODB.Recordset

Gracias por la respuesta rene_bustos, pero el codigo ese funciona bien, mi idea era ver la forma de que al hacer el INSERT y el mail que quiero insertar exista me de un error y yo poder detectar ese error y seguir con la insercion del siguiente mail y ese mail que dio error descartarlo, osea yo no quiero hacer por cada mail un select y despues un insert, se entiende? saludos
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 23:52.