Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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查询日期时间中可能存在错误_C#_Sql_Asp.net_Datetime - Fatal编程技术网

C# SQL查询日期时间中可能存在错误

C# SQL查询日期时间中可能存在错误,c#,sql,asp.net,datetime,C#,Sql,Asp.net,Datetime,我正在尝试检索满足条件的行数,但始终返回0行 SQL查询: SELECT COUNT(*) FROM AuditActivity WHERE Username = '______' AND DateTimeActivity >= CONVERT(datetime, '01/08/2017 00:00:00') AND DateTimeActivity <= CONVERT(datetime, '01/08/2017 23:59:59') AND Activity

我正在尝试检索满足条件的行数,但始终返回0行

SQL查询:

SELECT COUNT(*) 
FROM AuditActivity 
WHERE Username = '______' 
  AND DateTimeActivity >= CONVERT(datetime, '01/08/2017 00:00:00') 
  AND DateTimeActivity <= CONVERT(datetime, '01/08/2017 23:59:59') 
  AND ActivityType = 'Login'
日期时间是否可能格式错误


谢谢你的帮助,谢谢

可能您的日期格式不同,数据库可能有其他格式,c可能有其他格式,首先尝试获取ms sql的格式,然后根据该格式转换您的日期格式,然后将其添加到条件中。另外,如果您真的需要比较日期中的时间,请确保。

因为,我忘记了一行代码。具体来说,我错过了ExecuteScalar。解决了这个问题后,一切都正常了。

尝试一种与区域设置无关的格式:“20170801 23:59:59”能否更新用于检索数据的方法?ExecuteOnQuery还是ExecuteScalar?我没有看到cmd.ExecuteReader;?我不认为这是你的问题的原因,但我仍然建议你阅读,而且如果这一问题得到解决,那么就标记一个回答作为答案。不要将标题编辑为[已解决]。
// Bar Chart Current Week Monday (Login)
public int barMondayLogin(String username)
{
    int result = 0;

    StringBuilder sqlCmd = new StringBuilder();
    sqlCmd.AppendLine("SELECT COUNT(*) FROM AuditActivity WHERE Username = @getUsername AND DateTimeActivity BETWEEN @getFirstDT AND @getLastDT AND ActivityType = @getType");

    try
    {
        SqlConnection myConn = new SqlConnection(DBConnectionStr);

        myConn.Open();

        SqlCommand cmd = new SqlCommand(sqlCmd.ToString(), myConn);

        //DateTime
        DateTime currentDT = DateTime.Today;

        DateTime FirstDT = currentDT.AddDays(-(int)currentDT.DayOfWeek + 1);
        DateTime SecondDT = FirstDT.AddDays(1).AddSeconds(-1);

        Debug.WriteLine("Date: " + FirstDT + " " + SecondDT);

        cmd.Parameters.AddWithValue("@getUsername", username);
        cmd.Parameters.AddWithValue("@getFirstDT", FirstDT);
        cmd.Parameters.AddWithValue("@getLastDT", SecondDT);
        cmd.Parameters.AddWithValue("@getType", "Login");

        myConn.Close();

        return result;
    }
    catch (SqlException ex)
    {
        logManager log = new logManager();
        log.addLog("AuditNLoggingDAO.barMondayLogin", sqlCmd.ToString(), ex);
        return 0;
    }
}