新手求助:vb.net生成的EXE,无法读写SQL里原本为空的日期型字段
vb.net吧
全部回复
仅看楼主
level 14
sanhom 楼主
SQL里的一张表“info”,有DATE型的字段“日期”,其中一条记录其它字段都有内容,只有“日期”中没有内容,在程序运行时从DateTimePicker获取日期。在VS工程里直接执行时没有问题,可以正常写入数据库;但通过VB.NET生成的EXE运行时无法更新该字段的内容,出现如下异常:************** 异常文本 **************
System.Data.SqlClient.SqlException (0x80131904): 将截断字符串或二进制数据。
语句已终止。
数据库里的date字段可以为空。
我新建和修改原来有日期的date字段都没问题,只有原来的数据库里所有date型字段为空的记录会出现异常,不能读取也不能更新日期。但只影响date型的字段,其它字段可以正常更新。
但在工程内测试的时候没有任何问题,可以对所有字段读取和更新。
************** 异常文本 **************
System.InvalidCastException: 从类型“DBNull”到类型“Date”的转换无效。
2014年03月28日 10点03分 1
level 4
你可以在这一块加个判断,如果字符为空的话就不要让它再转换为date格式了。
2014年03月28日 15点03分 2
请看清楚问题再回答,我不是要转换格式,而是要更新数据库的空日期字段的记录为有日期记录
2014年03月29日 11点03分
level 14
sanhom 楼主
问题已解决,不是DATE格式问题,是我自己不仔细,其它文本超长了
2014年03月29日 13点03分 3
1