获取当前日期和时间,使用c#进行ms访问

时间:2016-06-12 16:04:34

标签: c# sql ms-access

我只能了解如何获取当前日期,而不是当前日期和时间的组合。我还没有找到合适的解决方案。

  cmd.CommandText = "INSERT INTO [Table] (DATE) VALUES (@date)";

 var pDate = new OleDbParameter("@date", SqlDbType.DateTimeOffset);
            pDate.Value = DateTime.Now.Date; 
            cmd.Parameters.Add(pDate);

非常感谢任何帮助。

编辑:也尝试过:

var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;

但我仍然只是收到“6/12/2016”的日期,而不是时间。

2 个答案:

答案 0 :(得分:3)

Access SQL支持名为Now()的函数,该函数返回当前日期和时间。

因此,让db引擎使用Now()而不是在c#中导出等效值然后将该值作为参数提供给INSERT会更简单。

cmd.CommandText = "INSERT INTO [Table] ([DATE]) VALUES (Now())";

注意DateJet reserved word。将该名称括在INSERT的方括号中,表示数据库引擎是指对象名称而不是Date()函数。

答案 1 :(得分:0)

尝试使用Access已知的数据类型:

cmd.CommandText = "INSERT INTO [Table] (DATE) VALUES (@date)";

var pDate = new OleDbParameter("@date", SqlDbType.DateTime);
            pDate.Value = DateTime.Now; 
            cmd.Parameters.Add(pDate);