1.用程序更新数据库时间的时候,最好用在sql 语句中操作时间。比如:在sql语句中使用getdate()、dateadd()等函数。在程序中使用获取的时间字符串跟客户端运行平台的时间设置有关,可能会出现”2015-09-06 星期日 下午13:14”这样的字符串,这不能被数据库识别为有效的时间格式。
2.写在finally块中的代码一定不要出错!!!
3.一些重要的代码,尽量使用try-catch
4.WPF跟WinForm在这一点上是相同的:简单点来讲就是——刷新界面的活只能在UI线程里跑。你的问题是:你试图在另一个线成里刷新UI,这时候错误就会抛出,因为非UI线程是不能亲自刷新UI的,它们需要告诉UI线程:“我们需要你帮助把UI刷新一下”。
如果你是在.xaml.cs文件中,你可以直接调用Dispatcher.Invoke((Action)delegate { /* Your
code is put here */ });
如果你在ViewModel里,你可以Application.Current.Dispatcher.Invoke((Action)delegate { /* Your code is put here */ });
5. 问题事件名称: CLR20r3 ...问题签名 04: System.Data...问题签名 09: System.Data.SqlClient.Sql..
这些问题是程序在客户端运行出错的时候,程序给出的错误签名。
出现 CLR20r3的问题, 这是因为.NET Framework 1.0 和 1.1 这两个版本对许多未处理异常(例如,线程池线程中的未处理异常)提供支撑,而 Framework 2.0 版中,公共语言运行库允许线程中的多数未处理异常自然继续。在多数情况下,这意味着未处理异常会导致应用程序终止。
出现System.Data.SqlClient.Sql这些问题一般都与SQL语句出错有关。