我想问一下,为什么当我从数据库中检索数据时,日期变成了日期和时间。
这是我的数据库:
这是我的 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);
}
}
输出:
数据库:
最佳答案
在 .NET 中,没有仅限日期的类型。处理日期值的类型称为 DateTime
,它代表日期和时间。因此,当您从数据库中检索日期值时,它会转换为时间部分为 00:00:00
的 DateTime
值,然后再转换为字符串通过 GetString()
方法。您应该做的是使用 DateTime.ToString()
根据您的喜好设置日期格式。
尝试这样的事情:
string formattedDate = myReader.GetDateTime(2).ToString("yyyy-MM-dd");
引用资料:
关于c# - 检索MySQL日期时,它变成了日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59024397/