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:
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.
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()