Retroceder   Foros del Web > Programación para sitios web > ASP Clásico

Respuesta
 
Herramientas Desplegado
Antiguo 30-jun-2008, 10:21   #1 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
verificar si dato en excel esta en base de datos sql server

hola amigos resulta que estoy tratantado de depurar mi codigo de subir una planilla excel a mi base de datos sql server y tengo una duda y queria ver si me la pueden responder.


mi base de datos consta de dos tablas, la relacion es de uno a muchos

usuario
nombre
rut

consumo
rut
fecha consumo
monto

resulta que que al momento de subir mi planilla excel a la base de datos va validando que cada rut que esta en la planilla excel se encuentre en la tabla1 pero cuando llega un rut desde la planilla excel que no esta en la tabla 1 el sistema se cae y arroja error.

entonces yo quiero que en vez que se caiga cuado no encuentra el rut en la tabla1 , no ingrese el registro desde la planilla excel a la tabla2 y simplemente lo salta y sigue con el sgte registro de la planilla excel, pero no se si se puede hacer esto
rezocrew está desconectado   Responder Citando
Antiguo 30-jun-2008, 10:25   #2 (permalink)
Moderador
Myakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy prontoMyakire llegará a ser famoso muy pronto
 
Avatar de Myakire
 
Fecha de Ingreso: noviembre-2002
Mensajes: 6.634
Enviar un mensaje por Yahoo  a Myakire
Respuesta: verificar si dato en excel esta en base de datos sql server

así a lo rápido, dos formas:

Pon un manejador de errores, así en caso de que truene por duplicado, el asunto no te interrumpirá el programa y continuará con el siguiente registro.

Antes de grabar, haz una consulta buscando el valor

saludos
Myakire está desconectado   Responder Citando
Antiguo 30-jun-2008, 10:40   #3 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

me podrias explicar mas lentamente por favor, como pongo un manejador de errores no entiendo mucho pues no se como hacer una vez detectado el error me siga corriendo y no interrumpa el programa



y con respecto a la segunda opcion yo estoy usando el stgte metodo para subir la planilla excel

sql2.CommandText= "INSERT INTO Consumo(Consumo_Tabla1_Rut,Consumo_Operador, Consumo_Cliente, Consumo_Celular, Consumo_Plan, Consumo_Fecha_Consumo, Consumo_Hora_Consumo,Consumo_Duracion_Consumo,Cons umo_Numero_Destino,Consumo_Destino, Consumo_Monto_Dolares, Consumo_Monto_Pesos)" & _
" SELECT Consumo_Tabla1_Rut,Consumo_Operador,Consumo_Client e,Consumo_Celular,Consumo_Plan,Consumo_Fecha_Consu mo,Consumo_Hora_Consumo,Consumo_Duracion_Consumo,C onsumo_Numero_Destino,Consumo_Destino,Consumo_Mont o_Dolares,Consumo_Monto_Pesos FROM " & _
"OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _
"'Data Source= "&ruta2&" ;Extended Properties=Excel 8.0')...[Hoja1$]"
entonces no se donde colocar la consulta :S!!

Última edición por rezocrew; 30-jun-2008 a las 13:07.
rezocrew está desconectado   Responder Citando
Antiguo 30-jun-2008, 13:03   #4 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

lo hice de esta forma pero tampoco me funciona

sql2.CommandText= "INSERT INTO Consumo(Consumo_Tabla1_Rut,Consumo_Operador, Consumo_Cliente, Consumo_Celular, Consumo_Plan, Consumo_Fecha_Consumo, Consumo_Hora_Consumo,Consumo_Duracion_Consumo,Cons umo_Numero_Destino,Consumo_Destino, Consumo_Monto_Dolares, Consumo_Monto_Pesos)" & _
" SELECT Consumo_Tabla1_Rut,Consumo_Operador,Consumo_Client e,Consumo_Celular,Consumo_Plan,Consumo_Fecha_Consu mo,Consumo_Hora_Consumo,Consumo_Duracion_Consumo,C onsumo_Numero_Destino,Consumo_Destino,Consumo_Mont o_Dolares,Consumo_Monto_Pesos FROM " & _
"OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _
"'Data Source= "&ruta2&" ;Extended Properties=Excel 8.0')...[Hoja1$],Tabla1 WHERE (Tabla1_Rut IN(SELECT Consumo_Tabla1_Rut FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', " & _
"'Data Source= "&ruta2&" ;Extended Properties=Excel 8.0')...[Hoja1$]) )"

sql2.execute


el texto en negirto es lo que agregue para que me coloque los puros registros de excel que su rut aparece tambien en la tabla1 de mi base de datos sql server pero no pasa nada y no se como hacerlo ayudenme por favor
rezocrew está desconectado   Responder Citando
Antiguo 30-jun-2008, 14:09   #5 (permalink)
Colaborador
JuanRAPerez tiene algunos puntos positivos de karma
 
Avatar de JuanRAPerez
 
Fecha de Ingreso: octubre-2003
Mensajes: 1.890
Respuesta: verificar si dato en excel esta en base de datos sql server

puedes hacer un insert en un while para verificar si el registro existe o no antes de tratar insertarlo

+ lees tu hoja de excel
+ haces tu RecordSet
+ con el valor de el registro vas a la base a comprar si existe el valor
+ si existe te lo saltas
+ si no existe lo insertas
+ te mueves al siguiente registro

mas trabajo pero creo que es un mejor control
podes hasta llevar control de cuantos insertaste y cuantos se discriminaron

suerte
__________________
JuanRa Pérez
San Salvador, El Salvador
JuanRAPerez está desconectado   Responder Citando
Antiguo 30-jun-2008, 14:18   #6 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

entiendo el concepto pero no se como hacer para saltar el registro, me puedes especificar ese punto por favor
rezocrew está desconectado   Responder Citando
Antiguo 30-jun-2008, 15:29   #7 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.955
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: verificar si dato en excel esta en base de datos sql server

Juan (), se refiere a si fuese una lectura normal, y en dado caso de encontrar los datos entonces y solo entonces realizar la insercion en la tabla

haber deja ver con que idea loka formulo con los datos que has puesto

: Mad Science
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 30-jun-2008, 15:59   #8 (permalink)
Colaborador
JuanRAPerez tiene algunos puntos positivos de karma
 
Avatar de JuanRAPerez
 
Fecha de Ingreso: octubre-2003
Mensajes: 1.890
Respuesta: verificar si dato en excel esta en base de datos sql server

maestro Shiryu_Libra

:) tienes toda la razón
__________________
JuanRa Pérez
San Salvador, El Salvador
JuanRAPerez está desconectado   Responder Citando
Antiguo 30-jun-2008, 19:12   #9 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.955
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: verificar si dato en excel esta en base de datos sql server

no se si esto sea lo que requieres... no tenia nada que hacer asi que...

en este ejemplo se usa EXCEL - ACCESS

habria que verificar antes de realizar la insercion la comprobacion de no datos repetidos... a tambien cambia la conexion, ya que estoy utilizando ACE12, en lugar de JET4

... y ahora que hago
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 01-jul-2008, 08:20   #10 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

hola probe el codigo y me arroja el sgte error

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]INSERT statement conflicted with COLUMN FOREIGN KEY constraint 'FK_Consumo_Tabla1'. The conflict occurred in database 'DBRoaming', table 'Tabla1', column 'Tabla1_Rut'.

/Proyecto_Roaming/rezocrew/rezocrew.asp, line 108

esto debido a que el rut que estoy subiendo en la planilla no se encuentra en la tabla usuario (la linea 108 es justo la linea de insercion "insercion.execute(insertar) " con lo cual no alcanzo a llegar al if para preguntar si la insercion fue correcta o no :() mi pregunta es esa , en que parte del codigo yo hago la comparacion del rut de la planilla con el rut de la tabla usuario para ver si es que el rut de la planilla es igual a alguno de los rut de la tabla usuario para recien poder subirlo a la tabla consumo
rezocrew está desconectado   Responder Citando
Antiguo 01-jul-2008, 11:03   #11 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.955
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: verificar si dato en excel esta en base de datos sql server

.... oye rezo, son 2 hojas de excel diferentes?
realizas comprobacion en 2 hojas para tu RUT??

si es asi, tendras que anexar esa hoja de excel, y realizar ese procedimiento en la consulta primaria, a lo mejor me hicieron falta datos, verifica las sentencias

es por donde deberias empezar
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 01-jul-2008, 12:35   #12 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

nop , es una sola hoja excel que tiene los registros que deben migrar a la tabla consumo pero antes deben ser validados por la tabla usuario mediante el rut,

osea antes de insertar el registro de la planilla en la tabla consumo este debe validarse en la tabla usuario mediante el rut si el rut que esta en el registro excel tambien esta en el registro de la tabla usuario recien lo insertamos el registro de la planilla excel en la tabla consumo.

eso es lo que kero haccer
rezocrew está desconectado   Responder Citando
Antiguo 01-jul-2008, 13:09   #13 (permalink)
Colaborador
Shiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy prontoShiryu_Libra llegará a ser famoso muy pronto
 
Avatar de Shiryu_Libra
 
Fecha de Ingreso: febrero-2007
Ubicación: Localhost/Pruebas....
Mensajes: 2.955
Enviar un mensaje por MSN a Shiryu_Libra Enviar un mensaje por Yahoo  a Shiryu_Libra Enviar un mensaje por Skype™ a Shiryu_Libra
Respuesta: verificar si dato en excel esta en base de datos sql server


y si en el select se realizara la consulta directa como lo haces en tu codigo??

Código PHP:
"SELECT "&_
        
"Consumo_Tabla1_Rut,"&_
        
"Consumo_Operador,"&_
        
"Consumo_Cliente,"&_
        
"Consumo_Celular,"&_
        
"Consumo_Plan,"&_
        
"Consumo_Fecha_Consumo,"&_
        
"Consumo_Hora_Consumo,"&_
        
"Consumo_Duracion_Consumo,"&_
        
"Consumo_Numero_Destino,"&_
        
"Consumo_Destino,"&_
        
"Consumo_Monto_Dolares,"&_
        
"Consumo_Monto_Pesos FROM "&_
        
"[Hoja1$],Tabla1 "&_
        
"WHERE "&_
        
"(Tabla1_Rut IN(SELECT Consumo_Tabla1_Rut FROM "&_
        
"[Hoja1$])" 
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Shiryu_Libra está desconectado   Responder Citando
Antiguo 01-jul-2008, 14:46   #14 (permalink)
rezocrew ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 136
Respuesta: verificar si dato en excel esta en base de datos sql server

cuando hago la consulta directa ocupo el OPENDATASOURCE y con ese metodo no se como hacerlo para generar esa consulta y la comparacion :S
rezocrew está desconectado   Responder Citando
Respuesta

No hay votos aún.


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 is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:54.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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