Reputation: 303
I'm trying to view SQL Server data on an asp.net page. The values in SQL Server will change dynamically. I've created a timer thread to fetch the data from 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();
}
But I failed on this since it does refresh the value of textbox. also I failed on Sleep(3000) function. right now I'm refreshing the values from HTML page.
<meta http-equiv="refresh" content="2" />
I need to refresh only textbox values rater than refresh entire web page. Is there any better solution for this problem? or did I miss anything in my code?
Upvotes: 2
Views: 1278
Reputation:
write your logic to below event
protected void Timer1_Tick(object sender, EventArgs e)
{
// your logic
}
and set
myTimer.Interval = 3000;
Upvotes: 1