
12/05/2009, 09:18
|
| | Fecha de Ingreso: mayo-2003
Mensajes: 70
Antigüedad: 22 años Puntos: 0 | |
Llamar a un procedimiento almacenado dentro de un bucle do while Buenas tardes,
a ver si alguien puede echarme una mano.
Tengo una aplicación que carga unos datos de un fichero excel. En concreto tiene cuatro registros que puedo mostrar por pantalla si las pinto con una tabla. El siguiente paso es llamar a una funcion que ejecuta un procedimiento almacenado desde dentro de un blucle do while, para que inserte todos los registros del fichero excel pero solo lo ejecuta una vez, es decir, solo inserta un registro en base de datos. Alguien me puede orientar? Es q no puedo meter un procedure dentro de un bucle?
Muchas gracias.
Código:
do while not rsExcel.EOF
'IdServicio = trim(rsExcel(0)) 'Viene vacio
Usuario = replace(trim(rsExcel(1)),"'","''")
Fecha_Captado = replace(trim(rsExcel(2)),"'","''")
Sol_Nip = replace(trim(rsExcel(3)),"'","''")
Sol_email = replace(trim(rsExcel(4)),"'","''")
Sol_Organization = replace(trim(rsExcel(5)),"'","''")
Sol_Unit = replace(trim(rsExcel(6)),"'","''")
Sol_CeCo = replace(trim(rsExcel(7)),"'","''")
Sol_Refer = replace(trim(rsExcel(8)),"'","''")
DR_Empresa = replace(trim(rsExcel(9)),"'","''")
DR_Direccion = replace(trim(rsExcel(10)),"'","''")
DR_Localidad = replace(trim(rsExcel(11)),"'","''")
DR_Codigo_postal = replace(trim(rsExcel(12)),"'","''")
DR_Provincia = replace(trim(rsExcel(13)),"'","''")
DR_Pais = replace(trim(rsExcel(14)),"'","''")
DR_Contacto = replace(trim(rsExcel(15)),"'","''")
if Usuario <> "" and Sol_Nip <> "" then
Call Almacenar 'Procedimiento almacenado
if trim(IdServicio) <> "" then
solicitudes = solicitudes & ";" & IdServicio & ""
end if
Call limpiarcampos
end if
rsExcel.MoveNext
loop
rsExcel.Close
Sub Almacenar
cadenaSQL = "EXEC TRANS_CARGARSOLICITUDES "
cadenaSQL = cadenaSQL & vbnewline
cadenaSQL = cadenaSQL & "@Usuario ='" & Usuario & "',"
cadenaSQL = cadenaSQL & "@Fecha_Captado ='" & obtenerFecha(cstr(day(Fecha_Captado)), cstr(month(Fecha_Captado)), cstr(year(Fecha_Captado)),False) & "',"
cadenaSQL = cadenaSQL & "@Sol_Nip ='" & Sol_Nip & "',"
cadenaSQL = cadenaSQL & "@Sol_email ='" & Sol_email & "',"
cadenaSQL = cadenaSQL & "@Sol_Organization ='" & Sol_Organization & "',"
cadenaSQL = cadenaSQL & "@Sol_Unit ='" & Sol_Unit & "',"
cadenaSQL = cadenaSQL & "@Sol_CeCo ='" & Sol_CeCo & "',"
cadenaSQL = cadenaSQL & "@Sol_Refer ='" & Sol_Refer & "',"
cadenaSQL = cadenaSQL & "@DR_Empresa ='" & DR_Empresa & "',"
cadenaSQL = cadenaSQL & "@DR_Direccion ='" & DR_Direccion & "',"
cadenaSQL = cadenaSQL & "@DR_Localidad ='" & DR_Localidad & "',"
cadenaSQL = cadenaSQL & "@DR_Codigo_postal ='" & DR_Codigo_postal & "',"
cadenaSQL = cadenaSQL & "@DR_Provincia ='" & DR_Provincia & "',"
cadenaSQL = cadenaSQL & "@DR_Pais ='" & DR_Pais & "',"
cadenaSQL = cadenaSQL & "@DR_Contacto ='" & DR_Contacto & "'"
ejecutar
' el procedimiento me devuelve el id del registro insertado
IdServicio = rs("IdServicio")
End Sub
|