通过C#更新访问日期时间。数据不匹配

时间:2014-01-16 15:15:21

标签: c# sql datetime ms-access

我将日期和时间加载到文本框中进行编辑,但是我需要将其作为日期时间存储在我的访问数据库中而不是字符串中,并且无法记住或找不到在我的SQL参数中解析它的语法...这里反正是我的代码......

string strSql = "UPDATE OCR SET OCR = @OCR, [OCR Title] = @OCRTitle, DeadlineDate = @DeadlineDate;";

using (OleDbConnection newConn = new OleDbConnection(strProvider))
{
      using (OleDbCommand dbCmd = new OleDbCommand(strSql, newConn))
      {
           dbCmd.CommandType = CommandType.Text;
           dbCmd.Parameters.AddWithValue("@OCRTitle", textBox6.Text);
           dbCmd.Parameters.AddWithValue("@OCR", textBox5.Text);
           dbCmd.Parameters.AddWithValue("@DeadlineDate", textBox7.Text);

           newConn.Open();
           dbCmd.ExecuteNonQuery();
      }
 }

1 个答案:

答案 0 :(得分:3)

您将字符串指定为截止日期值。您应该指定DateTime

如果您确实需要,可以使用DateTime.Parse(或DateTime.ParseExactDateTime.TryParseExact)来解析文本表示形式,但最好使用基于日期的控件来首先,而不是文本表示

(目前尚不清楚这是什么类型的应用程序 - WinForms,ASP.NET等 - 但是现在大多数GUI都有某种日期选择器。)

编辑:此外,您需要更改将参数添加到命令的顺序,使其与SQL语句中使用参数的顺序相匹配。这些是有效的位置参数 - 名称被忽略。使用?可能比在SQL中使用命名参数更清楚。