Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.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# 显示今天登录的用户数_C#_Sql_.net_Sql Server - Fatal编程技术网

C# 显示今天登录的用户数

C# 显示今天登录的用户数,c#,sql,.net,sql-server,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 (SqlCo

我想在页面上显示今天有多少用户登录,这是我从我的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转换为字符串,所以如果它的1个用户多于1个,这是主要目标,我想在我的页面中显示,例如,今天登录的一个或两个用户取决于有多少用户登录到基本mysql

这样做:

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

SQL查询:

Select count(*) from dbo.users where Active = 1 
C#:您需要在母版页的页面加载时调用此函数(假设您的loggedin显示在母版页中)

要将此整数转换为文本,请浏览此链接(我为您搜索了):

我猜你是在使用SQL Server而不是MySQL,所以我更改了标签。不清楚你在问什么。您显示的查询不返回数字,它返回行-今天创建的每个用户一行。然后执行一个非查询,所以除了受影响的行数(SELECT为-1)之外,不会返回任何内容,请参见文档。然后你想把整数1转换成单词“1”?是的,查询是为了得到今天登录的用户,如果它的10个用户今天登录了,我想在页面中显示字符串10,今天登录了10个用户,这是我的主要目标。我是否需要在查询中添加一些内容以获取字符串中的值?感谢@codecaster,sql看起来不像是在计算登录次数。然后从阅读sql教程开始,然后深入阅读SqlCommand文档,最后在web上搜索“C#number as text”。不要再添加MySQL标记,这不是MySQL。“当用户注销时,将该值设置为False。”-那不行,web用户通常不会注销。@CodeCaster-Hmm。。考虑一下,如果窗口关闭,我想我们可以注册,使用javascript?浏览器或计算机可能会崩溃。Web应用程序的一般方法是在用户会话的每一个动作上设置一个持续活动的时间戳,然后考虑在过去N分钟内有活动的任何人。
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;
    }