ATENCIÓN AL CLIENTE: +34 923 199 148

Volcar un dataset en una base de datos con ADO.NET

Vamos a realizar un volcado de un dataset “a mano” en una base de datos, mediante instrucciones tipo INSERT, a través de un objeto de la clase OleDbCommand. Se va a realizar sobre una base de datos Access.

Supongamos un dataset que tiene una sola tabla (la tabla 0) y en ella hay dos campos, nombre y apellidos. La tabla en la base de datos, se llamará PERSONAS.

Vamos a realizar la inserción de la siguiente manera:

Debemos añadir la siguiente línea al principio de nuestro código:

Imports System.Data.OleDb

Posteriormente prepararemos el comando de alta para no tener que crearlo en cada iteración, y así en cada repetición sólo tendremos que darle valores a sus parámetros y ejecutarlo.

‘Declaraciones
Dim cmAlta As OleDbCommand
Dim i As Integer
Dim cn as OleDbConnection

‘Construimos y abrimos la conexión con la base de datos
cn = new OleDbConnection(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ruta_del_fichero_de_access;User Id=admin;Password=;”);
cn.open()

‘Preparamos el comando
cmAlta = New OleDbCommand(“INSERT INTO personas(nombre,apellidos) VALUES(@nombre,@apellidos)”)
cmAlta.Parameters.Add(“@nombre”, OleDbType.VarChar)
cmAlta.Parameters.Add(“@apellidos”, OleDbType.VarChar)
cmAlta.Connection = cn   
For i = 0 To dsPersonas.Tables(0).Rows.Count – 1
   ‘rellenamos el valor de los parámetros
   cmAlta.Parameters(“@nombre”).Value = dsPersonas.Tables(0).Rows(i)(“nombre”).ToString()
   cmAlta.Parameters(“@apellidos”).Value = dsPersonas.Tables(0).Rows(i)(“apellidos”).ToString()
   ‘realizamos el alta
   cmAlta.ExecuteNonQuery()
Next

‘Cerramos la conexion con la base de datos
cn.close()

Contenido relacionado