这个操作最好在数据库上用触发器来实现,效率最高
不然就写成Windows service用定时查询来检测

解决方案 »

  1.   

    建议用window service 的方式在服务器上运行2个线程定时更新
      

  2.   

    我这样作是不是效果太低,一直访问数据库,但我不知道如何写好:while (1==1)
    {
      strSql="Select * From T_Message_Buffer where ServiceID='941031552'and status=0 order by id";
      objAdapter=new SqlDataAdapter(strSql,objConnection);
      objAdapter.Fill(objDataSet,"T_Message_Buffer");
      objTable=objDataSet.Tables["T_Message_Buffer"];
      for (i=0;i<objTable.Rows.Count;i++)
      {

         //处理  }
    }
      

  3.   

    楼上的可真牛呵呵~最简单的方法加个Timer设定间断时间去扫描。还有就是当线程sleep时去扫描,这应该是最好的。
      

  4.   

    sql server代理, 可以用来解决这检测问题的...