0

将此时间插入数据库时​​出现此错误。

这是错误:

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

这是代码:

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;

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

4

1 回答 1

0

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

TimeSpan span;
if(TimeSpan.TryParseExact(this.timeContainer.Text, "h:mm tt", CultureInfo.InvariantCulture, out span))
{
   cmd.Parameters["Times"].Value = span;
}
于 2013-09-07T08:01:27.747 回答