У меня есть приложение WPF, в котором я читаю файл Excel, используя драйвер Microsoft Jet Oledb. В общей сложности три файла Excel считываются и вставляются в базу данных после применения необходимых преобразований типов.
Когда я устанавливаю контрольные точки и отлаживаю их шаг за шагом, я не получаю исключений, и данные правильно вставляются в БД.
Но когда я выполняю его без точек останова и не отлаживаю, это дает мне следующую ошибку времени выполнения:
"Неправильная строка ввода
формат "
Пожалуйста, помогите мне. Почему это происходит?
ОБНОВЛЕНИЕ:
Трассировка стека: at
System.Number.ParseDouble (String
значение, параметры NumberStyles,
NumberFormatInfo numfmt) в
System.String.System.IConvertible.ToDouble (IFormatProvider
поставщик) в
System.Convert.ToDouble (Значение объекта)
в
Expedia.MainWindow.InsertCallProfile (DataTable
дт) в
D: \ Expedia \ Expedia \ Expedia \ MainWindow.xaml.cs: линия
90 в
Expedia.MainWindow.Button_Click (Объект
отправитель, RoutedEventArgs e) в
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;
}