我有一个WPF应用程序,我正在使用Microsoft Jet Oledb驱动程序读取Excel文件。在应用必要的类型转换后,总共有三个excel文件被读取并插入到数据库中。
当我设置断点并逐步调试时,我没有例外,数据被正确插入数据库。
但是当我在没有断点的情况下执行它并且不进行调试时,它会给我以下运行时错误:
“输入字符串不正确 格式“
请帮帮我。为什么会这样?
更新:
Stack Trace是:at System.Number.ParseDouble(字符串 value,NumberStyles选项, NumberFormatInfo numfmt)at System.String.System.IConvertible.ToDouble(的IFormatProvider 提供者) System.Convert.ToDouble(对象值) 在 Expedia.MainWindow.InsertCallProfile(数据表 dt)in d:\ Expedia的\ Expedia的\ Expedia的\ MainWindow.xaml.cs:行 90点 Expedia.MainWindow.Button_Click(对象 发件人,RoutedEventArgs e)in d:\ Expedia的\ Expedia的\ Expedia的\ MainWindow.xaml.cs:行 44
我知道存在类型转换问题,但在设置断点和调试时不会出现这种情况。
我正在使用以下内容来转换数据类型: -
public static Nullable<T> ToNullable<T>(this object o) where T : struct
{
Nullable<T> result = new Nullable<T>();
try
{
if (!string.IsNullOrEmpty(o.ToString()))
{
TypeConverter conv = TypeDescriptor.GetConverter(typeof(T));
result = (T)conv.ConvertFrom(o);
}
}
catch
{
}
return result;
}
答案 0 :(得分:2)
如果您知道如何以这种方式调试.NET崩溃,那就不奇怪了,
http://blogs.msdn.com/b/tess/archive/2009/03/20/debugging-a-net-crash-with-rules-in-debug-diag.aspx
每次崩溃都可以解释。