私はSQL Server 2008を使用しており、ユーザーの最後のログインがデータベースに追加された最後のメッセージの日付よりも前の場合に通知を表示しようとしています.
通知テキストを非表示にするために使用asp:panel
していますが、正常に機能しますが、何らかの理由で、Compare
使用しているメソッドが期待される結果を返さない理由がわかりません。
たとえば、ユーザー ログインを に設定01/05/2013
し、データベースの最新の日付が である01/04/2013
場合、結果が 0 より大きい int であると予想し、if 条件をエスケープします。残念ながら、それは起こらず、メソッドは常に if 条件に入ります。
casting
from Date
to DateTime
;と関係があるのではないかと思います。アイデアをお願いします。
DateTime userEntry = new DateTime(2012, 01, 05);
DateTime lastMsg = new DateTime();
lastMsg = Convert.ToDateTime(ds.Tables[0].Rows[0]["Date"]);
int compared = DateTime.Compare(userEntry, lastMsg);
if (compared < 0) { notification.Visible = true; }