无法将参数值从字符串转换为时间跨度

本文关键字:字符串 转换 时间跨度 参数 | 更新日期: 2023-09-27 18:30:26

我在将这个时间插入数据库时收到此错误。

这是错误:

无法将参数值从字符串转换为时间跨度。

这是代码:

dateContainer.Text = DateTime.Now.ToString("dddd, MMMM dd, yyyy",
                 System.Globalization.CultureInfo.InvariantCulture);
private void StartTimer(object sender, EventArgs e)
{
  timeContainer.Text = DateTime.Now.ToString("h:mm tt",
                 System.Globalization.CultureInfo.InvariantCulture);
}
cmd.Parameters.Add("Times", System.Data.OleDb.OleDbType.DBTime);
cmd.Parameters["Times"].Value = this.timeContainer.Text;
cmd.Parameters.Add("Dates", System.Data.OleDb.OleDbType.Date);
cmd.Parameters["Dates"].Value = this.dateContainer.Text;

有人知道如何解决这个问题吗?谢谢

无法将参数值从字符串转换为时间跨度

我不确定,但你可以试试这个:

TimeSpan span;
if(TimeSpan.TryParseExact(this.timeContainer.Text, "h:mm tt", CultureInfo.InvariantCulture, out span))
{
   cmd.Parameters["Times"].Value = span;
}