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

C# 使用c在MS Access中插入日期和时间#,c#,asp.net,ms-access,C#,Asp.net,Ms Access,在access数据库中,我有一个列timeStamp(Text),我想在其中存储当前日期和时间。访问数据库看起来像 Id(autonumber) userName(text) Est_id(Number) timeStamp(text) 在c#中,我是通过 string time = DateTime.Now.ToString("HH:mm:ss"); string date = DateTime.Today.ToString("dd-MM-yyyy"); string my_querry

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

Id(autonumber) userName(text) Est_id(Number) timeStamp(text)
在c#中,我是通过

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();
时间戳是文本,但每次运行查询时都会出错。我应该换什么?如果我不添加时间戳,一切都会完美地工作

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

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

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


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

使用AddWithValue时必须提供日期时间值:


您是否尝试用一些单引号将其括起来,如-cmd.Parameters.AddWithValue(“@timeStamp”,(string.format(“{0}{1}”,date,time)));出现了什么错误?[NullReferenceException:对象引用未设置为对象的实例。]与用户名和est_索引初始化相关的代码在哪里。初始化正确吗?哪一行代码出现空引用异常?问题在于日期和时间。
cmd.Parameters.AddWithValue("@timeStamp", DateTime.Now);