我正试图从我的数据库中抽出时间。
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();
这行提供了错误。
答案 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)
重载格式化的任何内容。