2011-12-28 11 views
0

ASP.NET/C#ではAJAXタイマーを使用しています。タイマーチックで私は定期的にバックエンドから新しいデータを取得するために次のコードを使用しています。レコードが新しい場合にのみアクションを実行します

私のコードは、(この種の何か)上記のコードで

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

私はwhile loopを使用して、サーバーから値の数千人を取得していますです。さて、値が以前の試行から変更された場合には、新しい試行(*タイマーごとに)で* のようなアクションを実行したいのです。

は私が

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(); 

答えて

0

のようないくつかの事はあなたがそこにプライベート変数private string previous_accxyzを作成し、このコードの後に​​それを割り当てることができIF条件のロジックを必要としています。

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

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

これは:( –

+0

を動作しませんでしたが、どこで、民間の文字列は、メソッドの外 'プライベート文字列previous_accxyz'の宣言を置く –

+0

?プライベートクラスのアクセス、他のクラスに来るかprevious_accxyz'が、あなたの内側'使用する必要がありますクラス。 –

関連する問題