仅当记录是新的时才执行操作

时间:2011-12-28 19:47:44

标签: c# ajax

在ASP.NET / C#中我使用的是AJAX Timer。在Timer Tick中,我使用以下代码定期从后端检索新数据。

我的代码是(此类内容)

OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
    string abcxyz = dr[0].ToString();
    chat.Controls.Add(new LiteralControl(abcxyz + "<br/>"));
}
MyConnection.Close();

在上面的代码中,我使用while loop从服务器检索数千个值。好的,现在我想在新的尝试中按照* 进行操作(按照计时器勾选)如果值从之前的尝试改变它们执行条件。

我需要那里IF条件的逻辑

有点像

    OdbcDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            string abcxyz = dr[0].ToString();
            ** // If the string abcxyz value changes from previous Tick function to Current Tick function then only do the next
                {
                chat.Controls.Add(new LiteralControl(abcxyz + "<br/>"));
                }
                else
                {
                  // do nothing
                }
        }
        MyConnection.Close();

1 个答案:

答案 0 :(得分:0)

您可以创建一个私有变量private string previous_accxyz并在此代码之后分配它。

string abcxyz = dr[0].ToString();
if (!abcxyz.Equals(previous_accxyz))
{
    previous_accxyz = abcxyz;

    // do code
    chat.Controls.Add(new LiteralControl(abcxyz + "<br/>"));
}