MySQL现在选择()

时间:2015-11-19 07:27:20

标签: c# mysql

我正试图从我的数据库中抽出时间。

string result;
using (MySqlConnection connection = new MySqlConnection("Server=localhost;Database=database;Uid=root;Pwd='';"))
{
     string sql = "select now()";
     MySqlCommand cmd = new MySqlCommand(sql, connection);
     connection.Open();
     result = (string)cmd.ExecuteScalar();
     connection.Close();
}
DateTime now = DateTime.ParseExact(result, "yyyy-MM-dd HH:mm:ss", null);
metroLabel4.Text = (newtime);

这是我正在使用的代码,当我构建程序时,它为result = (string)cmd.ExecuteScalar();这行提供了错误。

1 个答案:

答案 0 :(得分:0)

看起来MySQL Now()返回日期和时间,此类型在.NET端与DateTime映射。

由于ExecuteScalar返回object,您可以明确地将其转换为DateTime,并且应该没问题。

DateTime result;
...
result = (DateTime)cmd.ExecuteScalar();

还有一些事情;

  • 使用using语句来处理您的命令。
  • 由于您使用using语句,因此不需要connection.Close()行。该声明会自动关闭您的连接。
  • 你不再需要解析了。只是帮助DateTime now = result;
  • 目前尚不清楚newtime究竟是什么,但在此之后,您可以将其指定为metroLabel4.Text = now.ToString()或您使用ToString(string)重载格式化的任何内容。