显示今天登录的用户数

时间:2017-01-31 12:04:30

标签: c# sql .net sql-server

我想在页面上显示今天有多少用户登录,所以这是我的sql server查询,显示今天有多少用户登录,

SELECT userId, username, primaryType FROM [dbo].[users] where CONVERT(date, created) = convert(date, getdate())

这就是我的代码中从sql server调用查询的地方,

public void LoggedinUsers()
    {
        using (SqlConnection conn = new SqlConnection(connectionInfo))
        {
            using (SqlCommand cmd = new SqlCommand("LoggedinUsers", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                conn.Open();
                cmd.ExecuteNonQuery();

                conn.Close();
            }

            conn.Dispose();

        }
    }

并且,我不知道我是否需要参数或其他东西,我希望值以字符串形式返回,我只需要c#中的代码来获取bool到string的值,所以如果它的1个用户比,这是主要目标,我希望在我的页面中显示例如今天登录的一个或两个用户取决于有多少用户登录基础mysql。

1 个答案:

答案 0 :(得分:0)

这样做:

在users表中创建一个新的bool列,将其命名为“Active” - 在用户登录时将此列值更新为true。用户退出时将值设置为False。

SQL查询:

Select count(*) from dbo.users where Active = 1 

C#:您需要在母版页的页面加载时调用此函数(假设您的登录显示在母版页中)。

public int LoggedinUsers()
    {
        using (SqlConnection conn = new SqlConnection(connectionInfo))
        {
            using (SqlCommand cmd = new SqlCommand("LoggedinUsers", conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                conn.Open(); 
                int result = cmd.ExecuteScalar();
                conn.Close();
            } 
            conn.Dispose(); 
        }
        return result;
    }

要将此整数转换为文本,请浏览此链接(我用Google搜索): https://forums.asp.net/t/1995435.aspx?How+to+convert+Number+to+word+using+Sql+Query+with+standard+US+as+UK+Fromat