Ver Mensaje Individual
  #3  
Antiguo 30-10-2015
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Reputación: 21
ronimaxh Va por buen camino
Código:
 {
            OpenFileDialog open = new OpenFileDialog();
            //  open.Filter = "*.txt";
            if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Stopwatch medir = new Stopwatch();
                medir.Start();
                //Stopwatch.StartNew();
                DateTime tiempo1 = DateTime.Now;
                //leer cantidad de lineas del archivo
                long count = 0;
                string archivo = open.FileName;
                char[] Delimitador = { '|' };
                StreamReader Lector = new StreamReader(archivo);
                string Linea1 = Lector.ReadLine();
                List<CargarRNC> Lista = new List<CargarRNC>();
                while (Linea1 != null)
                {
                     CargarRNC carga2= new CargarRNC();
                     string[] Campos = Linea1.Split(Delimitador);
                     carga2.Documento = Campos[0];
                     carga2.Cliente = Utilidades.LimpiarCadena(Campos[1]);
                     Lista.Add(carga2);
                     Linea1 = Lector.ReadLine();
                }
                Lector.Close();
                Lector.Dispose();
                count = Lista.Count;
                progressBar1.Maximum = Convert.ToInt32(count);
                progressBar1.Minimum = 0;
                progressBar1.Value = 0;
                CargarRNC.BorrarCargaRNC();
                FbConnection conn = ConectarFirebirdDB.ObtenerConexion();
                FbTransaction trans = conn.BeginTransaction();
                int i = 1;
                foreach(CargarRNC carga in Lista)
                {
                    string sqltxt = "insert into TB_CARGARNC (rnc,cliente,usuarioid,fechasist)values(" + "'" + carga.Documento+ "'" + "," + "'" + carga.Cliente + "'" + "," + Convert.ToString(0) + "," + "'" + Utilidades.ObtenerFechaHoraSist() + "'" + ")";
                    FbCommand cmd = new FbCommand(sqltxt, conn, trans);
                    Int32 aff = 0;

                    try
                    {
                        aff = cmd.ExecuteNonQuery();
                        if ((i % 1000 == 0))
                        {
                            trans.Commit();
                            trans = null;
                            trans = conn.BeginTransaction();
                            count = count - 1000;
                            cmd.Dispose();

                        }
                        else
                            if (count < 1000)
                            {
                                trans.Commit();
                                trans = null;
                                cmd.Dispose();
                                trans = conn.BeginTransaction();
                                count = count - 1;
                            }

                     
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                       MessageBox.Show(ex.Message);
                        trans = conn.BeginTransaction();
                    }
                    progressBar1.Increment(+1);
                    progressBar1.Refresh();
                    i++;
                    CantRegistroTxt.Text = Convert.ToString(i);
                    CantRegistroTxt.Refresh();
                }
              
                conn.Close();
                Lista.Clear();
                medir.Stop();
                MessageBox.Show("Preceso Terminado Satisfactoriamente, Tiempo Transcurrido: "+medir.Elapsed," Atencion", MessageBoxButtons.OK, MessageBoxIcon.Information);

            }
        }

    }
sólo utilizo el Proveedor de .NET
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita