我试图从我的一个数据库表中选择DATE,我使用date作为主键,但是当我检索DATE时,也有时间是0:00:00。我只需要DATE将它插入组合框中,然后再将其作为PK在另一个表中的数据库中写入。
public void race_combo()
{
MySqlConnection con = new MySqlConnection(connection);
MySqlCommand cmd = new MySqlCommand("SELECT * FROM race", con);
MySqlDataReader msdr;
try
{
con.Open();
msdr = cmd.ExecuteReader();
while (msdr.Read())
{
string team_id = msdr.GetString("id_race");
MessageBox.Show(team_id);
comboBox4.Items.Add(team_id);
comboBox6.Items.Add(team_id);
comboBox9.Items.Add(team_id);
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
数据库表: http://prntscr.com/g7cadr
这是我得到的输出,我相信它与GetString有关,但我不确定它是如何不同的。
答案 0 :(得分:2)
首先使用GetDateDime()
将该值读作ToString
,然后使用DateTime team_id = msdr.GetDateTime("id_race");
String team_id_string = team_id.ToString("yyyy-MM-dd");
MessageBox.Show(team_id_string);
comboBox4.Items.Add(team_id_string);
comboBox6.Items.Add(team_id_string);
comboBox9.Items.Add(team_id_string);
转换为您选择的任何格式的字符串:
lapply
答案 1 :(得分:0)
最简单的方法是使用DATE()在mySQL查询中转换它:
SELECT columnname, DATE(datecolumn) FROM .....
答案 2 :(得分:0)
在查询中使用DATE_FORMAT
函数
SELECT DATE_FORMAT(id_race , "%Y-%m-%d") AS id_race FROM race
代码:
public void race_combo()
{
MySqlConnection con = new MySqlConnection(connection);
MySqlCommand cmd = new MySqlCommand("SELECT DATE_FORMAT(id_race , "%Y-%m-%d") AS id_race FROM race", con);
MySqlDataReader msdr;
try
{
con.Open();
msdr = cmd.ExecuteReader();
while (msdr.Read())
{
string team_id = msdr.GetString("id_race");
MessageBox.Show(team_id);
comboBox4.Items.Add(team_id);
comboBox6.Items.Add(team_id);
comboBox9.Items.Add(team_id);
}
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}