【问题标题】:Read Data value from sql server in every x seconds from asp.net每隔 x 秒从 asp.net 读取 sql server 的数据值
【发布时间】:2016-03-08 11:23:26
【问题描述】:

我正在尝试在 asp.net 页面上查看 SQL Server 数据。 SQL Server 中的值将动态更改。我创建了一个计时器线程来从 SQL Server 获取数据

public void Page_Load(object sender, EventArgs e)
{
    System.Timers.Timer myTimer = new System.Timers.Timer();
    myTimer.Enabled = true;
    myTimer.AutoReset = true;
    myTimer.Interval = 3000;
    DisplayTimeEvent(null, null);
    myTimer.Elapsed += new ElapsedEventHandler((sender, e) => DisplayTimeEvent(sender, e));
    myTimer.Start();
}
protected void DisplayTimeEvent(object sender, EventArgs e)
{
    SqlConnection sc = new SqlConnection("Data Source=SCADASTATION\\WINCC;Initial Catalog=LIVEDATA;Persist Security Info=True;User ID=sa;Password=root");
    SqlCommand com = new SqlCommand();
    com.Connection = sc;
    sc.Open();
    SqlDataReader read = (null);
    com.CommandText = ("SELECT TOP 1 * FROM DATATABLE1 ORDER BY 1 DESC ");
    read = com.ExecuteReader();
    while (read.Read())
    {
        TAG1.Text = read[1].ToString();
        TAG2.Text = read[2].ToString();
        TAG3.Text = read[3].ToString();
    }
    sc.Close();
}

但我失败了,因为它确实刷新了文本框的值。我在 Sleep(3000) 功能上也失败了。现在我正在刷新 HTML 页面中的值。

<meta http-equiv="refresh" content="2" />

我只需要刷新文本框值而不是刷新整个网页。这个问题有更好的解决方案吗?还是我错过了代码中的任何内容?

【问题讨论】:

  • 最简单的方法是在页面中使用 Ajax 来轮询脚本的更改,解析响应并更新 DOM
  • @AlexK。您能否发送任何网络链接来阅读相关内容,我是 .net 的新手。任何例子
  • 在服务器端使用定时器是个坏主意,你应该尝试类似stackoverflow.com/questions/24324987/…

标签: c# asp.net sql-server


【解决方案1】:

将您的逻辑写入以下事件

   protected void Timer1_Tick(object sender, EventArgs e)
    {
      // your logic
    }

并设置
myTimer.Interval = 3000;

【讨论】:

  • no 它不起作用,已经用参数尝试过。没有刷新值
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 2010-11-30
  • 1970-01-01
相关资源
最近更新 更多