Ver Mensaje Individual
  #12 (permalink)  
Antiguo 23/06/2009, 15:08
useraul
 
Fecha de Ingreso: agosto-2006
Mensajes: 112
Antigüedad: 17 años, 8 meses
Puntos: 2
Respuesta: Pasar Excel a SQL

Cita:
Iniciado por Pinty Ver Mensaje
Hola JackDaniel, si se puede, de hecho yo lo he hecho de esa manera. Te lo voy a explicar lo mejor que pueda, en caso de que tengas dudas no dudes en preguntar. Lo primero y mas importante esta hecho en vb.net
Vamos alla
Lo primero es que consideramos la hoja de excel como un origen de datos, como si fuese una base de datos. Una vez teniendo esa consideracion el codigo sale solo jejee

Código:
Imports System.Data
            Imports System.Data.OleDb
            Imports System.Data.SqlClient
A continuacion cargamos un Dataset con los datos del excell
Código:
Dim conexion As New OleDbConnection
            Dim comando As New OleDbCommand
            Dim adaptador As New OleDbDataAdapter
            Dim dsproductos As New DataSet
            Dim j As Integer

            conexion.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=direccion del excell; Extended Properties= Excel 8.0;"
            conexion.Open()
            comando.CommandText = "SELECT campos FROM [tabla$]"
            comando.Connection = conexion
            adaptador.SelectCommand = comando
            conexion.Close()
            adaptador.Fill(dsproductos, "productos")
IMPORTANTE: El nombre de la tabla tiene que llevar el simbolo $ no es que se me haya ido la mano

Ahora ya estan los datos cargados del excell asi que ya los podemos guardar en la base de datos

Código:
Dim conexion2 As New SqlConnection
Dim cmdguardar As New SqlCommand

For j = 0 To dsproductos.Tables(0).Rows.Count - 1
conexion2.ConnectionString = "cadena de conexion a la base de datos"
cmdguardar.CommandText="INSERT INTO tabla campo VALUES (@variable)"
cmdguardar.Connection=conexion2
cmdguardar.Parameters.Add(new sqlparameter("@variable",sqltype.VarChar, 50)).Value=dsproductos.Tables(0).Rows(j)("campo del dataset").ToString
                     

                conexion2.Open()
                cmdguardar.ExecuteNonQuery()
                cmdguardar.Parameters.Clear()
                conexion2.Close()
            Next
Mucha suerte. Un saludo

Pinty

pd: freegirl espero que a ti tambien te sirva de ayuda


Hola Pinty, espero puedas ayudarme, mira ice todo lo dices en este mensake y ne sale este error

SqlParameterCollection sólo acepta objetos de tipo no null SqlParameter, no objetos Boolean

y me resalta en rojo esta linea

cmdSave.Parameters.Add(New SqlParameter("@variable", SqlDbType.VarChar, 30).Value = ds.Tables(0).Rows(j)("nombres")).ToString()


ayuda porfavor