2014-09-19 102 views
1

我正在使用以下来遍历日期范围并从文本文件导入到数据库中。我想知道如何告诉代码如果文件不会退出,则继续下一个文件?如果循环失败则继续

for (DateTime date = last_date; date.Date <= DateTime.Today; date = date.AddDays(1)) 
{ 
    string file_name = "H" + date.ToString("yyyy-MM-dd") + ".TXT"; 

    MySqlBulkLoader bl = new MySqlBulkLoader(sql_connection); 
    bl.TableName = "processing_table"; 
    bl.FieldTerminator = ","; 
    bl.LineTerminator = "\n"; 
    bl.FileName = @"C:\Temp\Attendence\" + file_name; 
    bl.NumberOfLinesToSkip = 0; 

    int count = bl.Load(); 

    string sql = "SELECT source, created_date, created_time, company, action, employee_number, employee_name, outlet, field_1, field_2, field_3, field_4 FROM processing_table"; 
    MySqlCommand cmd = new MySqlCommand(sql, sql_connection); 
    MySqlDataReader rdr = cmd.ExecuteReader(); 

    while (rdr.Read()) 
    { 
     SplashScreenManager.Default.SetWaitFormDescription(rdr[1] + " - " + rdr[2]); 
    } 

    rdr.Close(); 
} 
+1

umm ... if(File.Exists(...))'循环中的代码?你有什么尝试? – BradleyDotNET 2014-09-19 21:30:38

回答

0
if (!File.Exists(@"C:\Temp\Attendence\" + file_name)) { continue; } 

string file_name =行之后添加此行。放置在这里可以防止对您的MySqlBulkLoader进行不必要的初始化。

continue将跳过其余的代码,并击中循环中的下一个项目。一个例子见c# reference