Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查SQL Server Datetime列字符串C是否已过1小时_C#_Sql Server - Fatal编程技术网

C# 检查SQL Server Datetime列字符串C是否已过1小时

C# 检查SQL Server Datetime列字符串C是否已过1小时,c#,sql-server,C#,Sql Server,我试图检查SQL Server数据库中的字符串Datetime是否超过了1小时。我试过这个代码,但它不起作用,或者我没有正确理解它 我试图做的是获取列Datetime值,并检查是否从TimeDate.Now开始经过1小时 这是我的密码: using (var GetLastPost = new SqlCommand("SELECT PostDate FROM Accs2 WHERE Username LIKE @user1", con)) { GetLastPost.Parameters

我试图检查SQL Server数据库中的字符串Datetime是否超过了1小时。我试过这个代码,但它不起作用,或者我没有正确理解它

我试图做的是获取列Datetime值,并检查是否从TimeDate.Now开始经过1小时

这是我的密码:

using (var GetLastPost = new SqlCommand("SELECT PostDate FROM Accs2 WHERE Username LIKE @user1", con))
{
    GetLastPost.Parameters.AddWithValue("@user1", ecid);

    using (var LastReader = await GetLastPost.ExecuteReaderAsync())
    {
        if (!LastReader.HasRows || !LastReader.Read())
        {
        }
        else
        {
            DateTime k = Convert.ToDateTime(LastReader["PostDate"].ToString());

            if (k > DateTime.Now)
            {
                MessageBox.Show("Your Money is in the Box");
            }
            else
            {
                MessageBox.Show("1 Hour Not Passed yet");
                con.Close();
            }
        }
    }
}

一个简单的方法如下

public bool HasAnHourPassed(DateTime compareTime)
{
    var timePassed = DateTime.Now - compareTime;
    return timePassed.TotalHours > 1;
}

它不起作用,因为信息太少。什么不起作用?它怎么不起作用?当你调试这个的时候,k值是多少?你认为k>DateTime值是多少?现在呢?k是我表格中DateTime类型的coulmn值,我想做的是检查coulmn值PostDate是否在DateTime 1小时后通过/coparte。现在我很抱歉我的英语不好,它的消息框显示了你的当前代码?@ChetanRanpariya我收到了你的钱在盒子里,但当我检查我的数据库字符串并与我的时钟连接时,它不是真的。。。假设返回1小时还没有过去,我想得到的是,如果小时过去了,那么放置并返回等待1小时,就像一些循环一样,可以在一小时内完成1次。更简单,可能更好的方法是只在SQL命令本身中执行:从Accs2中选择PostDate,其中用户名像@user1和DATEDIFFhour,SYSDATETIME,PostDate>1很抱歉,我不知道如何在代码中插入这一行我的目标是如果时间未超过msgboxonly,则框中的金额为msgboxmoneybox@dodexahedron不幸的是,假设SQL盒和应用程序盒具有同步时钟,并且位于同一时区,etc.Hth..@Avnego,您只需在尝试if语句时调用此方法即可。@EdSF如果情况并非如此,并且如果用户/web服务器/客户端应用程序/任何东西本身可能不在同一时区,则无论如何都应使用DateTimeOffset,否则将始终存在问题。