我知道如何计算访客的总数或在线人数。我想找到每日访问者的数量并在我的页面中显示它,我搜索一个代码来计算我网站的每日访问者 如果今天没有行,我使用查询并向访问者计数器表插入一行。因此,当新访问者打开会话时,服务器必须运行选择,然后为每个访问者插入或更新一行。 我的疑问是:
IF (NOT EXISTS(SELECT hitNumber FROM VisitorCounter WHERE lastUpdate = now ))
BEGIN
INSERT INTO counters (somecols) VALUES(somevalue)
END
ELSE
BEGIN
UPDATE counters SET hitNumber = @currentVisitors WHERE lastUpdate = now
END
我想知道是否有一种方法需要为所有访问者更新一行,并且每天插入一次。因为我将此查询添加到global.cs文件中的session_start,我的网站加载速度较慢。
答案 0 :(得分:0)
private void Form1_Load(object sender, EventArgs e)
{
// number of visitor
int totalNumbers = 0;
// Database
string dbConStr = "Server=.\\sqlexpress;Database=Test;Integrated Security=true;";
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection(dbConStr);
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT CounterTable (totalNumbers, day) VALUES (@totalNumbers, getdate())";
cmd.Parameters.Add("totalNumbers",SqlDbType.Int).Value = totalNumbers;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
}