高分求解:从客户端保存数据到Web Service时日期字段出现的问题。不够再加

OOSnoopy 2003-06-26 11:01:27
我从Web Service中返回一个数据集,然后在客户端获得了这个数据集,在更改数据集后通过Web Service保存时,得到提示:
"System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Server was unable to read request. ---> System.InvalidOperationException: There is an error in XML document (1, 5313). ---> System.Xml.Schema.XmlSchemaException: The value '2003/6/1 00:00:00' is invalid according to its data type. An error occurred at (9, 18).
也就是说,我返回的数据集中的一个日期字段的数据类型与从Web Service获得到数据集的XML文档架构不一致,导致了错误。可是为什么会这样呢?
我所用的数据库是Oracle 817i。而且奇怪的是在其它程序中同样有日期字段的情况下,Web Service结构也是相同的,却不会有这个问题。

...全文
32 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
OOSnoopy 2003-07-01
  • 打赏
  • 举报
回复
RE: piscean_163(言而有信)

我的客戶端不是在WEB下,是Win Form。
triout 2003-07-01
  • 打赏
  • 举报
回复
按照你的解决办法,还是部可以传送datetime数据?
cl_03 2003-06-30
  • 打赏
  • 举报
回复
我也遇到过相同的问题,最后发现就是数据类型转换时出错,所以在写程序时一定要注意数据类型的转换问题。
piscean_163 2003-06-28
  • 打赏
  • 举报
回复
你好,想问一下你的客户端是Web吗?
如果是,能告诉我你在客户端如何得到改变后的DataSet?
是用GetChanges()还是什么?我在这方面遇到了一个问题,想看看你是如何解决的。
谢谢。

主题: DataSet! 你为什么检测不到数据的修改?
http://expert.csdn.net/Expert/topic/1918/1918332.xml?temp=.9846613

OOSnoopy 2003-06-27
  • 打赏
  • 举报
回复
謝謝關注!問題已經得到解決。

起因:由于我在DataSet中給日期字段設了默認值,因此,當我在保存時,將數據集返回到Web Service就會出現上述錯誤。經過調試,當我注釋掉該行語句後,就不會出現上述异常。

解決方法:在保存時將DataSet中的日期字段的默認值設為System.DBNull.Value, 在保存完後再將默認值設回去,即不會出現上述錯誤,數據集能夠成功返回Web Service。

估計這是微軟的一個BUG吧。歡迎大家發表更多的見解。下周結貼,只要說得有道理,一樣給分。

superct 2003-06-26
  • 打赏
  • 举报
回复
试试把日期的格式改为如下:
2003-06-1T00:00:00
或者干脆用string来表示时间而不是DataTime

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧