c# - 检索MySQL日期时,它变成了日期和时间

标签 c# mysql xampp

我想问一下,为什么当我从数据库中检索数据时,日期变成了日期和时间。

这是我的数据库:

Database Table format

这是我的 C# 代码:

private void runQuery()
{
    string query = txtQuery.Text;

    if(query == "")
    {
        MessageBox.Show("Empty Query");
        return;
    }

    string strSQLConnection = "datasource = 127.0.0.1;port = 3306; username = root; password =; database =inventory";
    MySqlConnection dbConnection = new MySqlConnection(strSQLConnection);
    MySqlCommand sqlCmd = new MySqlCommand(query, dbConnection);
    sqlCmd.CommandTimeout = 60;

    try
    {
        dbConnection.Open();

        MySqlDataReader myReader = sqlCmd.ExecuteReader();

        if(myReader.HasRows)
        {
            while(myReader.Read())
            {
                lstQuery.Items.Add(myReader.GetString(0) + " | " + myReader.GetString(1) +" | " + myReader.GetString(2));
            }
        }
        else
        {
            lstQuery.Items.Add("Query successfully executed!");
        }
    }
    catch(Exception e)
    {
        MessageBox.Show("Query error: " + e.Message);
    }
}

输出:

Output

数据库:

Data in Database

最佳答案

在 .NET 中,没有仅限日期的类型。处理日期值的类型称为 DateTime,它代表日期和时间。因此,当您从数据库中检索日期值时,它会转换为时间部分为 00:00:00DateTime 值,然后再转换为字符串通过 GetString() 方法。您应该做的是使用 DateTime.ToString() 根据您的喜好设置日期格式。

尝试这样的事情:

string formattedDate = myReader.GetDateTime(2).ToString("yyyy-MM-dd");

引用资料:

关于c# - 检索MySQL日期时,它变成了日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59024397/

相关文章:

c# - 如何解决协变数组转换?

c# - 没有 XML 属性节点的 C# 中的 XML 序列化

mysql - 获取比较两个表中日期时间字段的最新数据

linux - 通过局域网查看 xampp wordpress 站点

apache - 由于 UAC win10,Xampp 功能受到限制。如何解决?

c# - 逐字符写入控制台,最快的方法

c# - 使用联合安全保护服务器应用程序之间的 WCF 服务调用

mysql - 如何根据名称选择列

php - 当mysql服务器宕机时触发邮件

php - 迁移/升级到 XAMPP 后为 "Server has gone away"