我有一个使用以下代码运行的方法:
private void WriteToDb()
{
using (SqlConnection dbConnection = new SqlConnection(_conStr))
{
dbConnection.Open();
using (SqlBulkCopy sbc = new SqlBulkCopy(_conStr))
{
sbc.DestinationTableName = "tblLog";
try
{
sbc.WriteToServer(_tblLog);
}
catch (Exception e)
{
Console.WriteLine(String.Format("{0} Error writing log info: {1} \n {3}", DateTime.Now.ToString(), e.Message, e.StackTrace));
}
}
}
_tblLog.Rows.Clear();
}
我从String.Format()
具有以下堆栈跟踪的方法收到异常:
未处理的异常:System.FormatException:索引(从零开始)必须大于或等于零且小于参数列表的大小。在 System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args) 在 System.String.Format(IFormatProvider provider, String format, Object[] args) 在 System.String.Format(String format, Object args) , 对象 arg1, 对象 arg2) 在 MyCompany.MyClient.MySoftware.Logger.WriteToDb()
我真的可以看到这个错误的来源。据我所知,我没有在该方法中使用任何集合。我还不得不承认这种方法是多线程的,但我还是想不出可能的影响。
谢谢!