文件写入异常处理
File Writing Exception Handling
我需要对下面的代码提出一些建议,我在其中将一些数据写入文件,同时更新数据库中的记录。
foreach (DataRow dr in dtCSVdata.Rows)
{
StringBuilder sbData = new StringBuilder();
//Below line of code is used to write data in database
SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
foreach (object obj in dr.ItemArray)
{
if (sbData.Length == 0)
{
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
else
{
sbData.Append(",");
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
}
//Write to file
writer.WriteLine(sbData.ToString());
}
有时在更新数据库中的记录时会发生超时异常,当发生异常时,控制权将传递给 catch 块,并且没有数据写入文件。
假设有100条记录,循环刚刚更新了50条记录,那么50条记录的文件中没有数据写入。因此,跟踪更新了哪些记录变得非常困难。
你能帮我解决这个问题吗?如果出现问题,那么文件中的数据应该在那之前写入。
写入文件后移动插入数据行,
foreach (DataRow dr in dtCSVdata.Rows)
{
StringBuilder sbData = new StringBuilder();
//comment Below line of codewhich is used to write data in database
// SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
foreach (object obj in dr.ItemArray)
{
if (sbData.Length == 0)
{
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
else
{
sbData.Append(",");
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
}
//Write to file
writer.WriteLine(sbData.ToString());
writer.close();//may use using
//after writing insert into database table.
SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
}
我需要对下面的代码提出一些建议,我在其中将一些数据写入文件,同时更新数据库中的记录。
foreach (DataRow dr in dtCSVdata.Rows)
{
StringBuilder sbData = new StringBuilder();
//Below line of code is used to write data in database
SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
foreach (object obj in dr.ItemArray)
{
if (sbData.Length == 0)
{
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
else
{
sbData.Append(",");
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
}
//Write to file
writer.WriteLine(sbData.ToString());
}
有时在更新数据库中的记录时会发生超时异常,当发生异常时,控制权将传递给 catch 块,并且没有数据写入文件。
假设有100条记录,循环刚刚更新了50条记录,那么50条记录的文件中没有数据写入。因此,跟踪更新了哪些记录变得非常困难。
你能帮我解决这个问题吗?如果出现问题,那么文件中的数据应该在那之前写入。
写入文件后移动插入数据行,
foreach (DataRow dr in dtCSVdata.Rows)
{
StringBuilder sbData = new StringBuilder();
//comment Below line of codewhich is used to write data in database
// SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
foreach (object obj in dr.ItemArray)
{
if (sbData.Length == 0)
{
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
else
{
sbData.Append(",");
sbData.Append("\"");
sbData.Append(RemoveSpecialCharacters(obj.ToString()));
sbData.Append("\"");
}
}
//Write to file
writer.WriteLine(sbData.ToString());
writer.close();//may use using
//after writing insert into database table.
SQLHelper.MoveOtherQuotesToWaitingArivalOfBags(quoteHeaderId, Config.WSUserName, refCode);
}