CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Vb.net + Access

(1/1)

Tagasa:
Muy buenas! a ver si alguien me puede ayudar... Lo que quiero hacer es recorrer todos los registros de una tabla de SQL e ir pasandolos a una tabla de access. Tal y como lo tengo puesto en el codigo que pongo abajo, sólo me mete el ultimo registro. No se como pasar a la siguiente linea de access y que me meta todos los registros... El problema esque la cantidad de registros puede variar, lo mismo pueden ser 3 que 6 o los que sean. Agradeceria muchisimo vuestra ayuda ya que es muy importante acabar con este trabajo...
Muchas gracias de antemano y un saludo!

If LectorSQL.HasRows Then '(compruebo que haya lineas en la tabla de sql)

     ParamAccess = New OleDbParameter
     CommandAccess = New OleDbCommand
     cnAccess.Open()  '--> abro la conexion de access

     CommandAccess = New OleDbCommand("INSERT INTO tablaACCESS  ([NOMBRE],[APELLIDO]) values (@nombre,@apel)", cnAccess)

               
While Lectord100m9.Read

           CommandAccess.Parameters.Add(New OleDbParameter "@nombre",          OleDbType.VarChar))
           CommandAccess.Parameters("@nombre").Value = LectorSQL.Item("NOMBRE")

           CommandAccess.Parameters.Add(New OleDbParameter("@apel", OleDbType.VarChar))
           CommandAccess.Parameters("@apel").Value = LectorSQL.Item("APELLIDO")
 
End While

CommandAccess.Parameters.Add(ParamAccess)
CommandAccess.ExecuteNonQuery()

cnAccess.Close()  '--> cierro la conexion de access
End If

senzao18:
Tienes que acomodar tu codigo para que mandes llamar el CommandAccess.ExecuteNonQuery()
en cada registro que tiene el sqldatareader...

Seria dentro de tu while...

algo asi...


--- Código: Text ---  CommandAccess.Parameters.Add(New OleDbParameter("@apel", OleDbType.VarChar)) CommandAccess.Parameters.Add(New OleDbParameter "@nombre", OleDbType.VarChar))  While Lectord100m9.Read CommandAccess.Parameters("@nombre").Value = LectorSQL.Item("NOMBRE")CommandAccess.Parameters("@apel").Value = LectorSQL.Item("APELLIDO") CommandAccess.ExecuteNonQuery() End While    

Tagasa:
Ya está! anda que no darme cuenta... lo que había probado era meter tb la linea                
CommandAccess.Parameters.Add(ParamAccess) dentro del while por eso no me funcionaba. Pero ahora solo con la del ExecuteNonQuery ya funciona.

Muchas gracias!!

Navegación

[0] Índice de Mensajes

Ir a la versión completa