Microsoft Jet Oledb 드라이버를 사용하여 Excel 파일을 읽는 WPF 응용 프로그램이 있습니다. 필요한 유형 변환을 적용한 후 데이터베이스에 읽히고 삽입되는 총 3 개의 Excel 파일이 있습니다.중단 점을 사용하여 스테핑으로 프로그램을 실행하면 잘 실행되지만 중단 점없이 실행하면 런타임 예외가 발생합니다.
중단 점을 설정하고 단계별로 디버깅 할 때 예외가 발생하지 않고 데이터가 DB에 올바르게 삽입됩니다.
하지만 중단없이 실행하고 디버깅을하지 않을 때, 그것은 나에게 다음과 같은 런타임 오류 제공 :
"Input string was not in a correct format"
저를 도와주십시오. 왜 이런 일이 일어나는 걸까요?
UPDATE :
Stack Trace is: at 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) in D:\expedia\Expedia\Expedia\MainWindow.xaml.cs:line 90 at Expedia.MainWindow.Button_Click(Object sender, RoutedEventArgs e) in D:\expedia\Expedia\Expedia\MainWindow.xaml.cs:line 44
내가 타입 변환 문제가 있음을 알았지 만 중단 점 및 디버그를 설정할 때 occurr하지 않습니다. 나는 데이터 형식을 변환하는 다음과 같은 사용하고
: -이 방법으로 .NET 충돌을 디버깅하는 방법을 알고 있다면 그것은 이상한 일이 아니다
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;
}
예외에 대한 추가 정보를 추가 할 수 있습니까? stacktrace? –
스레드를 사용하고 있습니까? –
아니요 스레드를 사용하고 있지 않습니다. – teenup