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

Ayuda.!!

Estas en el tema de Ayuda.!! en el foro de ASP Clásico en Foros del Web. Bueno, antes que nada hola a todos ;) Mi problema es que soy muy novato pero la cuestion es que me hace falta una manito ...
  #1 (permalink)  
Antiguo 26/01/2007, 15:23
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Ayuda.!!

Bueno, antes que nada hola a todos ;)

Mi problema es que soy muy novato pero la cuestion es que me hace falta una manito en esto:

estoy armando mi primer site en ASP y no se como copiar solo algunas columnas de TODOS los registros de un recordset a determinadas columnas de una tabla. Realmente busque por toda la web ejemplos pero no los encuentro y el Dreamweaver no me da soluciones para esto, solo me permite copiar de a un registro y en algunos casos me hace falta copiar CIENTOS..!!


Desde ya gracias por leer esta consulta de novato..

Saludos

Ariel
  #2 (permalink)  
Antiguo 26/01/2007, 20:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Ayuda.!!

Hola MBCIT, bienvenido a FDW, ahora a tu pregunta hay varias formas de hacer lo que quieres, una sería como ya tienes tu recordset, itéralo y por cada registro tomas los campos necesarios y realizas tu insert/update

Código:
while not rs.EOF
  strSQL  =  strSQL & "INSERT INTO tabla(campo1, campo2, campoN) " & _
  "VALUES("&rs("campo1")&", "&rs("campo2")&", "&rs("campoN")&");"
  rs.moveNext
wend

ObjCon.Execute(strSQL)
Aunque podria ser que haciendo un solo query pudieras resolverlo, pero para eso tendriamos que saber los detalles de tus tablas, la idea es la siguiente:

Código:
INSERT INTO tabla (campo1, campo2, campoN) 
SELECT campo1, campo2, campoN FROM tabla2 WHERE condiciones;
Ya nos diras mas cosas

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 27/01/2007, 06:39
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Ayuda.!!

Gracias u_goldman ;)

Basicamente estoy usando esto:

La cuestion es que lo estoy asociando a un Form que actua sobre la misma pagina y cuando presiono Submit y vuelve a leer la pagina el Recordset4 que es el que alimenta estas variables me queda vacio ya que recibe las variables para WHERE de un formulario anterior a este. No se si me explique. :S

Código:
Set cn = Server.CreateObject("ADODB.Connection")
		cn.Open = MM_MBCControl_STRING
		cn.Execute("INSERT INTO processcalls(url,parent,title,Note,phone,city,done,attn,agentid,category,campain) values ('"&url&"','"&parent&"','"&title&"','"&note&"','"&phone&"','"&city&"','"&done&"','"&attn&"','"&agentid&"','"&category&"','"&campain&"')")
Mi otra duda es:

Vos pusiste dos ejemplos..si no entiendo mal en el primero el SQL toma el Row 1 del un recordset y lo copia a otra tabla.
y en el segundo el SQL va leyendo Row por Row del recordset y va copiando estos Rows en otra tabla, asi hasta llegar a EOF? Porque basicamente esto me hace falta....y no logro copiar mas de un Row a la vez.
  #4 (permalink)  
Antiguo 27/01/2007, 19:16
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Ayuda.!!

Hola de nuevo, el primer ejemplo crea todo el string de SQL por cada registro, es decir, al salir de bucle tendras

Código:
INSERT INTO tabla(campos) VALUES(valores);
INSERT INTO tabla(campos) VALUES(valores);
INSERT INTO tabla(campos) VALUES(valores);
INSERT INTO tabla(campos) VALUES(valores);
INSERT INTO tabla(campos) VALUES(valores);
Uno por cada registro, la finalidad de esto es que no ejecutes una una sentencia contra tu base de datos por cada registro, sino que ejecuta todo esto al final, no se si realmente ayudara mucho al proceso, pero me imagino que en algo debe ser mejor.

La segunda opcion hace un INSERT en masa a partir de un resultset de datos

Código:
INSERT INTO tabla(campos) SELECT campos FROM tabla_2 
Lo cual es infinitamente mejor que traer un recordset, iterarlo e insertar registro por registro.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 27/01/2007, 20:38
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Ayuda.!!

Comparto con vos pero en la tabla destino entran datos primariamente de un recordset(tabla) pero tengo algunos datos que vienen de otras tablas y un campo que viene de un Select :S
Perdon por no avisar antes.....
Asi que la segunda opcion no me es valida
Supongo que tendre que intentar con la primera, denuevo mil gracias...:D
  #6 (permalink)  
Antiguo 31/01/2007, 00:59
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Ayuda.!!

Tema solucionado con el primer ejemplo, gracias por la ayuda ;)
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 02:06.