Quantcast
Viewing all articles
Browse latest Browse all 32057

Datagrid Out of memory

Hi all, I use the following code with filehelers on a fixed width flat text file, problem is this file can be huge and have many lines, I am only interested in Data x months old. If I run as my code on huge files I get out of memory any suggestions?



private void AlramdetClick(object sender, EventArgs e)
        {
            var fdlg = new OpenFileDialog
                           {
                               Title = @"AlarmDet Update",
                               InitialDirectory = @"c:\",
                               Filter = @"AlarmDet File|ALARMDET.txt",
                               FilterIndex = 2,
                               RestoreDirectory = true
                           };
            if (fdlg.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show(@"Please wait until Complete appears! Click O.K to continue");
                var filepath = fdlg.FileName;

                var engine = new FileHelperEngine<Alram.AlarmDet>();
                var res = engine.ReadFile(filepath);

                var dt = CommonEngine.RecordsToDataTable(res);
               
                //dataGridView1.DataSource = dt;

                var Tdy = DateTime.Now.AddMonths(-15);
                var rows = dt.Select(string.Format("[JobStart] <= '{0}'", Tdy));
                foreach (var row in rows)
                    row.Delete();

                //var connectionString = @"Data Source=localhost\DEV;Initial Catalog=SLADB;Integrated Security=True";
                
                con.Open();
                new SqlCommand("TRUNCATE TABLE AlarmDet", con).ExecuteNonQuery();
                using (var bulkCopy = new SqlBulkCopy(con))
                {
                    bulkCopy.BulkCopyTimeout = 0;
                    bulkCopy.BatchSize = 10000;
                        //bulkCopy.BatchSize = 10000;
                    bulkCopy.DestinationTableName = "dbo.AlarmDet";
                    try
                    {

                        bulkCopy.WriteToServer(dt);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                MessageBox.Show(@"Complete");
            }
        }

Viewing all articles
Browse latest Browse all 32057

Trending Articles