Versions
Runtime: NET Framework 4.7.1
MySqlConnector: 0.48.1
MySQL: 5.7.21 (docker@ubuntu)
Symptoms
When connection strings contains "Allow Zero Datetime=True" MySqlConnector fails to read dates from database, even something like select now().
Throws:
Test method x.AdHocTests.TryWithAllowZeroDateTime threw exception:
System.InvalidCastException: Specified cast is not valid.
at MySql.Data.MySqlClient.MySqlDataReader.GetDateTime(Int32 ordinal) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 200
at x.AdHocTests.TryWithAllowZeroDateTime(Boolean allowZeroDateTime)
Code
[TestClass]
public class AdHocTests
{
[TestMethod]
[DataRow(false)]
[DataRow(true)]
public void TryWithAllowZeroDateTime(bool allowZeroDateTime = false)
{
var connectionString =
"server=localhost;port=3306;database=x;uid=x;password=x";
if (allowZeroDateTime)
connectionString += ";Allow Zero Datetime=True";
var queryText = "select now()";
using (var connection = new MySqlConnection(connectionString))
using (var command = new MySqlCommand
{ Connection = connection, CommandText = queryText })
{
connection.Open();
using (var reader = command.ExecuteReader())
{
reader.Read();
var _ = reader.GetDateTime(0);
}
}
}
}
Expected results
Test passes in both cases
Actual results
Test passes for false (no "Allow Zero Datetime") but fails for true (with "Allow Zero Datetime").
Versions
Runtime: NET Framework 4.7.1
MySqlConnector: 0.48.1
MySQL: 5.7.21 (docker@ubuntu)
Symptoms
When connection strings contains "Allow Zero Datetime=True" MySqlConnector fails to read dates from database, even something like
select now().Throws:
Code
Expected results
Test passes in both cases
Actual results
Test passes for
false(no "Allow Zero Datetime") but fails fortrue(with "Allow Zero Datetime").