public void InsertDateTimeOffset() { m_database.Connection.Execute(@"drop table if exists insert_datetimeoffset; create table insert_datetimeoffset(rowid integer not null primary key auto_increment, datetimeoffset1 datetime null);"); var value = new DateTimeOffsetValues { datetimeoffset1 = new DateTimeOffset(2017, 1, 2, 3, 4, 5, TimeSpan.FromMinutes(678)) }; m_database.Connection.Open(); try { using (var cmd = m_database.Connection.CreateCommand()) { cmd.CommandText = @"insert into insert_datetimeoffset(datetimeoffset1) values(@datetimeoffset1);"; cmd.Parameters.Add(new MySqlParameter { ParameterName = "@datetimeoffset1", DbType = DbType.DateTimeOffset, Value = value.datetimeoffset1 }); cmd.ExecuteNonQuery(); } } finally { m_database.Connection.Close(); } var datetime = m_database.Connection.ExecuteScalar <DateTime>(@"select datetimeoffset1 from insert_datetimeoffset order by rowid;"); DateTime.SpecifyKind(datetime, DateTimeKind.Utc); Assert.Equal(value.datetimeoffset1.Value.UtcDateTime, datetime); }
public void InsertDateTimeOffset() { m_database.Connection.Execute(@"drop table if exists insert_datetimeoffset; create table insert_datetimeoffset(rowid integer not null primary key auto_increment, datetimeoffset1 datetime(6) null);"); var value = new DateTimeOffsetValues { datetimeoffset1 = new DateTime(2017, 1, 2, 3, 4, 5, 6) }; m_database.Connection.Open(); try { using (var cmd = m_database.Connection.CreateCommand()) { cmd.CommandText = @"insert into insert_datetimeoffset(datetimeoffset1) values(@datetimeoffset1);"; cmd.Parameters.Add(new MySqlParameter { ParameterName = "@datetimeoffset1", DbType = DbType.DateTimeOffset, Value = value.datetimeoffset1 }); cmd.ExecuteNonQuery(); } } finally { m_database.Connection.Close(); } var results = m_database.Connection.Query <DateTimeOffsetValues>(@"select datetimeoffset1 from insert_datetimeoffset order by rowid;").ToList(); Assert.Equal(1, results.Count); Assert.Equal(value.datetimeoffset1, results[0].datetimeoffset1); }
public void InsertMySqlDateTime() { m_database.Connection.Execute(@"drop table if exists insert_mysqldatetime; create table insert_mysqldatetime(rowid integer not null primary key auto_increment, ts timestamp(6) null);"); var value = new DateTimeOffsetValues { datetimeoffset1 = new DateTimeOffset(2017, 1, 2, 3, 4, 5, TimeSpan.FromMinutes(678)) }; m_database.Connection.Open(); try { using var cmd = m_database.Connection.CreateCommand(); cmd.CommandText = @"insert into insert_mysqldatetime(ts) values(@ts);"; cmd.Parameters.AddWithValue("@ts", new MySqlDateTime(2018, 6, 9, 12, 34, 56, 123456)); cmd.ExecuteNonQuery(); } finally { m_database.Connection.Close(); } var datetime = m_database.Connection.ExecuteScalar <DateTime>(@"select ts from insert_mysqldatetime order by rowid;"); Assert.Equal(new DateTime(2018, 6, 9, 12, 34, 56, 123).AddTicks(4560), datetime); }