使用c#在MS Access中插入日期和时间

时间:2016-04-14 01:27:48

标签: c# asp.net ms-access

在我的访问数据库中,我有列timeStamp(Text),我想存储当前的日期和时间。访问db看起来像

mClient.connect();

在c#中,我是通过

完成的
Id(autonumber) userName(text) Est_id(Number) timeStamp(text)

timeStamp是一个文本,但每次运行查询时都会出错。我应该改变什么?如果我不添加timeStamp一切都很完美

string time = DateTime.Now.ToString("HH:mm:ss");
string date  = DateTime.Today.ToString("dd-MM-yyyy");

string my_querry = "INSERT INTO  savedSession (userName, Est_id, timeStamp) VALUES(@userName,@Est_id,@timeStamp)";
OleDbCommand cmd = new OleDbCommand(my_querry, conn);
cmd.Parameters.AddWithValue("@userName", userName);
cmd.Parameters.AddWithValue("@Est_id", est_index);
cmd.Parameters.AddWithValue("@timeStamp", (date+" "+time));
cmd.ExecuteNonQuery();

2 个答案:

答案 0 :(得分:0)

NullReferenceException对您提供的代码没有任何意义。

尝试的一件事是将时间戳字符串连接到添加参数的位置之外,然后在parameters.AddWithValue方法中使用单个变量。

我能想到的另一件事是,格式化时间戳的方式与数据库中列的正确格式不一致。如果您的列是DateTime类型,那么您的格式而不是C#与访问所需的正确屏蔽不匹配。

答案 1 :(得分:0)

使用 AddWithValue 时,您必须提供DateTime

cmd.Parameters.AddWithValue("@timeStamp", DateTime.Now);