哈哈,今天终于找到VS2005数据库写入数据出现错误的原因啦(http://www.cnblogs.com/lxzhangying/archive/2006/10/02/520018.html)
原来是VS在自动添加数据库的时候将My Project中的连接字符串的数据库所在目录自动设置为|DataDirectory|\,例:我的程序数据库名为:...\Visual Studio 2005\projects\DemoApp\DemoApp\WlDataBase.mdf
自动生成数据集:...\Visual Studio 2005\projects\DemoApp\DemoApp\WlDataBaseDataSet.xsd
My Project中的连接字符串:DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WlDataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
而在VS中调试程序的时候,DataDirectory解释为:...\Visual Studio 2005\projects\DemoApp\DemoApp\Bin\Debug\
而自动生成的数据集完整目录却是:...\Visual Studio 2005\projects\DemoApp\DemoApp\
从而使数据库和数据集不在同一目录下,造成数据不能写入数据库。
解决方法:调试程序时将My Project中的连接字符串|DataDirectory|改为实目录,调试完毕后改回。
本例:改为:...\Visual Studio 2005\projects\DemoApp\DemoApp