我想问一下为什么当我从数据库中检索数据时,日期变为日期和时间。
这是我的数据库:
这是我的代码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
,它代表日期和时间。因此,当您从数据库中检索日期值时,它会转换为时间部分为DateTime
的00:00:00
值,然后通过GetString()
方法转换为字符串。您应该做的是使用DateTime.ToString()
设置日期格式,但是您愿意。
尝试这样的事情:
string formattedDate = myReader.GetDateTime(2).ToString("yyyy-MM-dd");
SqlDataReader.GetDateTime()
。