使用c#获取数据在ASP.net中输入数据库的时间

时间:2018-03-01 12:00:12

标签: c# asp.net asp.net-mvc

我想找到数据输入数据库的时间。我正在使用SQL Server作为我的数据库。

public class OtpchangeController : Controller
{
    DateTime dbTime;
    // GET: Otpchange
    public ActionResult Generateotp()
    {
        return View();
    }
    [HttpPost]
    public ActionResult Generateotp(tblPassword obj)
    {
        Random r = new Random();
        using (PasswordGenerationEntities db = new PasswordGenerationEntities())
        {
            tblPassword newObj = (from c in db.tblPasswords
                                  where c.Username == obj.Username
                                  select c).First();
            if(newObj != null)
            {
                int num = r.Next();
                string newOtp = num.ToString();
                newObj.Otp = newOtp;
                db.SaveChanges();
                dbTime = DateTime.Now;
                Session["Username"] = newObj.Username.ToString();
                return RedirectToAction("ChangePassword");
            }
        }
        return View();
    }
    public ActionResult ChangePassword()
    {
        return View();
    }
    [HttpPost]
    public ActionResult ChangePassword(tblPassword obj)
    {
        string name = @Session["Username"].ToString();
        using (PasswordGenerationEntities db = new PasswordGenerationEntities())
        {

            tblPassword newObj = (from c in db.tblPasswords
                                  where c.Otp == obj.Otp && c.Username == name
                                  select c).First();
            DateTime formTime = DateTime.Now;
            TimeSpan result = dbTime.Subtract(formTime);
            newObj.Password = obj.Password;
            db.SaveChanges();
            return RedirectToAction("Success");
        }
        //return View();
    }
    public ActionResult Success()
    {
        return View();
    }

这里我想找出otp添加到数据库的时间与用户输入otp的时间之间的差异。

但dbTime为01/01/2001

但是formTime是正确的,我也希望找到那些时间之间的区别。

1 个答案:

答案 0 :(得分:0)

您提供的代码似乎没有编译或某些部分丢失。

无论如何说我会建议检查有关dbContext及其功能的msdn文档here

您可以将数据库日志委派给控制台日志或其他更合适的提供程序(log4net或简单的自定义日志文件)。这些日志包含有关数据库执行时间的信息。

在你的情况下,你可以这样做:

function testGroupWrites() {
    let users = {};
    for (let i = 0; i < 1000; i++) {
        let id = shortId.generate();
        let jobs = {};
        for (let j = 0; j < 10; j++) {
            let uid = shortId.generate();
            console.log(uid);
            jobs[uid] = 1;
        }
        users[id] = jobs;
    }
    db.ref("testDataPoint")
        .set(users)
        .then(() => {
            console.log("written");
        })
}

检查控制台输出。

Console Database info