日期:2014-05-20  浏览次数:20874 次

vs2005 C# DataSet 序列化和反序列化中 DateTime類型與時間區域轉化問題.
操作系統   xp   英文(多國語言版)
開發工具:VS2005   繁體版
數據庫:   MsSql2005   英文版

情況:自己定義數據集.通過呼叫Remoting遠程方法回傳到客戶端.
如果時間Time   Zone是設置在(美國時間)其中返回的時間類型的數據無任何問題.
但是當把時間設置成亞洲其中一個時間的區域的時候.
數據集合里對於時間類型的字段.原來是DBNULl的都變成了0001   12:00   了.導致更新數據庫的時候出現超出時間範圍的錯誤.我知道是DataTable的序列化和反序列化的問題.如何糾正這樣的問題啊.

------解决方案--------------------
你是怎么知道DBNull变了?
debug的还是显示错误?
remoting server发送前时间是不是对的?
时间怎么存的,是不是utc?
------解决方案--------------------
datetime 默认值就为这个,LZ可以先定义成字符型,用到时转成DATETIME型