Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/10/2010, 07:01
german_martin
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 18 años, 3 meses
Puntos: 0
Como guardar en una DB una tabla programaticamente

Amigos. Yo tengo este codigo en el que cargo en un grid los valores que tengo en una planilla excel.


Código:
        If (txtFilePath.HasFile) Then
            Dim conn As OleDbConnection
            Dim cmd As OleDbCommand
            Dim da As OleDbDataAdapter
            Dim ds As DataSet
            Dim query As String
            Dim connString As String = ""
            Dim strFileName As String = DateTime.Now.ToString("ddMMyyyy_HHmmss")
            Dim strFileType As String = System.IO.Path.GetExtension(txtFilePath.FileName).ToString().ToLower()

            'Check file type
            If strFileType.Trim = ".xls" Or strFileType.Trim = ".xlsx" Then
                txtFilePath.SaveAs(Server.MapPath("~/UploadedExcel/" & strFileName & strFileType))

            Else
                lblMessage.Text = "Solo archivos excel puedes seleccionar."
                lblMessage.ForeColor = Drawing.Color.Red
                lblMessage.Visible = True
                Exit Sub
            End If

            Dim strNewPath As String = Server.MapPath("~/UploadedExcel/" & strFileName & strFileType)
            lblServerPath.Text = strNewPath
            lblServerPathTitle.Text = "Estas leyendo el archivo: "

            'Connection String to Excel Workbook
            If strFileType.Trim = ".xls" Then
                connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strNewPath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
            ElseIf strFileType.Trim = ".xlsx" Then
                connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strNewPath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
            End If


            query = "SELECT [Razón Social],[Numero de Cliente],[Numero de Cuenta] FROM [" & txtSheet.Text & "$]"

            'Create the connection object 
            conn = New OleDbConnection(connString)
            'Open connection
            If conn.State = ConnectionState.Closed Then conn.Open()
            'Create the command object
            cmd = New OleDbCommand(query, conn)
            da = New OleDbDataAdapter(cmd)
            ds = New DataSet()
            da.Fill(ds)

            grvExcelData.DataSource = ds.Tables(0)
            grvExcelData.DataBind()
            grvExcelData.Visible = True

            lblMessage.Text = "Finalizacion ok! Total de items:" & ds.Tables(0).Rows.Count
            lblMessage.ForeColor = Drawing.Color.Green
            lblMessage.Visible = True

            da.Dispose()
            conn.Close()
            conn.Dispose()

  btnGuardar.Enabled = True
        Else
            lblMessage.Text = "Por favor seleccione un archivo primero"
            lblMessage.ForeColor = Drawing.Color.Red
            lblMessage.Visible = True
        End If


¿Como puedo hacer para guardarlo en una DB (es SQL 2008)?

En simples palabras tengo que trasladar los valores del XLS a una tabla en una base de datos.


Gracias!