簡體   English   中英

MySQL連接器和日期類型注冊

[英]MySQL Connector & date type 0000-00-00

請為我的英文http://dev.mysql.com/doc/connector-net/en/connector-net-programming-datetime-null.html感到抱歉。.NET顯然不能接受注冊日期。 我嘗試在我的代碼中使用頁面中的代碼:

 for (int i = 0; i < dataReader.FieldCount; i++) list.Add(new List<string>());

            DateTime myTime;
            try
            {
                //Read the data and store them in the list
                while (dataReader.Read())
                {
                    for (int i = 0; i < dataReader.FieldCount; i++)
                    {
                        if (tablename == "orders")
                        {
                            if (dataReader.IsDBNull(dataReader.GetOrdinal("sell_date"))) MessageBox.Show("111");
                        }
                        list[i].Add(dataReader[i] + "");
                    }
                }
            }
             catch(Exception e)
            {
                 MessageBox.Show("Ошибка: " + e.GetType().ToString() + "\nСообщение: " +e.Message.ToString());
            }

相同的錯誤:錯誤:MySql.Data.Types.MySqlСonversionException消息:無法將MySQL日期/時間值轉換為System.DateTime

為什么選擇MessageBox.Show(“ 111”); 不工作嗎 字段sell_date為包含注冊

0000-00-00不是有效的DateTime值

要解決此問題,您必須配置MySQL .NET Connector( 在這里可以找到所有參數 )。

您有兩種方法:

  1. 在連接字符串中添加AllowZeroDateTime = true 這使您可以使用名為MySqlDateTime的特殊對象來管理0000-00-00值。 您可以從MySqlDataReader獲得這種類型的對象
  2. 在連接字符串中添加ConvertZeroDateTime = true 通過這種方式,所有0000-00-00值都將轉換為DateTime.MinValue

我希望第二個...。我希望這對您有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM