none
update base de datos con dataset cargado (Urgente) RRS feed

  • Pregunta

  • Hola,

     

    Tengo una aplicacion que debe cargar un archivo plano en una base de datos.

    Puedo cargar el archivo de texto leyendo el archivo line por linea para luego almacenarlo

    El problema es que leyendo el archivo  linea por linea el rendimiento es lento.

    Actualmente encontre una opcion para cargar el Archivo de texto en un dataset directamente con el objeto  TextDataAdapter

    '*************************************

    Dim textadapter As OpenNETCF.Data.Text.TextDataAdapter = New OpenNETCF.Data.Text.TextDataAdapter(RutaArchivoc, True, Chr("002"))

    textadapter.Fill(ds, "RONDAS_PMS")

    '***************************************

    lo que quiero es almacenar el dataset directamente a la base de datos si tener que leer el dataset linea por linea.

     

    Lo que hago es copiar el dataset al dataset recuperado de la base de datos para luego actualizarlo.

    El problema es que no me guarda los valores en BD y no me manda error.

    Pareciera que no interpreta los nuevos registro.

     

    Me podrian ayudar

     

    Saludos,

     

    Codigo utilizado

    '**************************

    Dim d_row As DataRow

    ' Conección y adicion de informacion a DataAdapter

    Dim sqlcn As New SqlCeConnection(dataS)

    Dim daRonda As New SqlCeDataAdapter("Select USUARIO, F_ACTUAL, PROGRAMA, COD_ESTR_PM,COD_RUTA,FECHA_HORA_RUTA,COD_PM,COD_KKS, COD_UN,TIPO_PM,LOC_PM,DESC_PM,CONST,MAX_LECT,MIN_LECT,VAR_MAX_LECT_ANT,VAR_MIN_LECT_ANT,MAX_MED_LECT,MIN_MED_LECT,LIM_MAX,LIM_MIN,Observ_PM,ULT_LECT,COD_BARRA,ESTADO_CENTRAL_BIN from RONDAS_PMS", sqlcn)

    ' Adicion de estructura i valores al Dataset

    Dim dsRonda As New DataSet

    daRonda.FillSchema(dsRonda, SchemaType.Source, "RONDAS_PMS")

    daRonda.Fill(dsRonda, "RONDAS_PMS")

     

    dsRonda = ds.Copy  o  dsRonda = ds

     

    Dim objCommandBuilder As New SqlCeCommandBuilder(daRonda)

    daRonda.Update(dsRonda, "RONDAS_PMS")

     

     

    Codigo line por linea que funciona

     

    '**********************************

     

    'Adicion de Dataset a Tabla

    Dim DTRonda As New DataTable("RONDAS_PMS")

    DTRonda = dsRonda.Tables("RONDAS_PMS")

     

    d_row = DTRonda.NewRow()

     

    'Cargamos los datos leidos del fichero

    d_row("USUARIO") = str_login.nom_usr

    d_row("F_ACTUAL") = Date.Today

    d_row("PROGRAMA") = "CARGA"

    .............

    'agregamos el registro a la tabla

    DTRonda.Rows.Add(d_row)

    viernes, 29 de febrero de 2008 23:18