.net連mysql數據庫時,如果表裡有字段是日期型且值是‘0000-00-00’時,會報錯。在C#裡面日期不可能是那樣的。或許是最小日期定義的差別。
解決辦法:
<connectionStrings> <add name="POS_Entities" connectionString="metadata=res://*/POS_DB.csdl|res://*/POS_DB.ssdl|res://*/POS_DB.msl;
provider=MySql.Data.MySqlClient;provider connection string="server=www.footbath.software;user id=root;password=??????;
persistsecurityinfo=True;database=market;allowzerodatetime=True"" providerName="System.Data.EntityClient" /> </connectionStrings>
修改連接字符串加上選項:
allowzerodatetime=True
這種方式雖然不報錯了,但是獲取到的記錄集會多出來。比如本來只返回一個table,一下返回了3個(多出2個中間表,不知道干嘛的)
convertzerodatetime=True
這是把‘0000-00-00’轉成‘0001-01-01’,還以為該是'1901-01-01'呢!