我有一个 WPF 应用程序,我正在使用 Microsoft Jet Oledb 驱动程序读取 Excel 文件。在应用必要的类型转换后,共有三个 Excel 文件被读取并插入到数据库中。
当我设置断点并逐步调试它时,我没有异常并且数据被正确插入到数据库中。
但是当我在没有断点的情况下执行它并且不调试时,它会给我以下运行时错误:
“输入字符串的格式不正确”
请帮我。为什么会这样?
更新:
堆栈跟踪是:System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) at System.String.System.IConvertible.ToDouble(IFormatProvider provider) at System.Convert.ToDouble(Object value) at Expedia.MainWindow.InsertCallProfile (DataTable dt) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs: Expedia.MainWindow.Button_Click(Object sender, RoutedEventArgs e) 在 D:\expedia\Expedia\Expedia\MainWindow.xaml.cs 中的第 90 行:第 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;
}