Foros del Web » Programando para Internet » ASPX (.net) »

Como guardar en una DB una tabla programaticamente

Estas en el tema de Como guardar en una DB una tabla programaticamente en el foro de ASPX (.net) en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/10/2010, 07:01
 
Fecha de Ingreso: septiembre-2006
Ubicación: Buenos Aires
Mensajes: 132
Antigüedad: 17 años, 8 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!
  #2 (permalink)  
Antiguo 09/10/2010, 18:21
Avatar de jaullo  
Fecha de Ingreso: abril-2009
Mensajes: 994
Antigüedad: 15 años, 1 mes
Puntos: 30
Respuesta: Como guardar en una DB una tabla programaticamente

Es sencillo, primero que nada la tabla debe contener los mismos campos que tiene el excel o el grid.

Luego debes recorrer el grid y guardar los valores, por ejemplo:

Código ASP:
Ver original
  1. For each row as datagridrow in migrid.rows.count -1
  2.  
  3. codigo de guardar. Por ejemplo
  4. Campobd=migrid.cells(0).tostring
  5.  
  6. Next
__________________
http://geekswithblogs.net/jaullo/Default.aspx
Si te he ayudado regalame Karma positivo!!!
  #3 (permalink)  
Antiguo 11/10/2010, 15:11
 
Fecha de Ingreso: julio-2006
Ubicación: En algún lugar de un grán pais
Mensajes: 112
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: Como guardar en una DB una tabla programaticamente

mmm
digamos que si quieres crear una nueva tabla por cada documento.. te recomeindo lo siguiente:


Dim myCn As New OdbcConnection(strConeccion)
Dim myCmd As New OdbcCommand

myCmd.CommandText = " create table " & nombretabla & " (valor1 tipo, valor2 tipo, valorn, tipo)"

myCmd.Connection = myCn
myCmd.ExecuteScalar()

Etiquetas: tablas, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:59.