
这个你只能被动地去接收数据库里面的数据变化,而不能通过数据库的数据变化去影响vs里面的数据。
你可以开一个线程,然后这个线程是while(true)死循环...每个1秒往数据库读一次数据...
Thread thread = new Thread(runDo)thread.Start()
private void runDo()
{
while (true)
{
//do something......
Thread.Sleep(1000)//睡眠1秒
}
}
或者用Timer控件(实际这个也是线程,就是上面那个方法...)
额,或许我理解错你的意思?
你说的数据库数据每秒都在变,是谁促使它变得?是别的应用程序?还是你自己的程序每秒都在更新数据库?
没有那么麻烦批量删除
StringBuilder strSql = new StringBuilder()
strSql.Append("delete from 表 ")
strSql.Append(" where id in (" + id+ ") ")
更新也一样
update 表 set name=""where ID in ("1,2 ")
其实你要实现的这个功能,根本不需要用多线程。原因,你要去修改一条数据,那么你肯定要有两个数据,1:哪条数据,2:当前是不是正在被修改中。那么你要获取这两个量的话,你必须要起一条线程起来不停地去检查这个到底现在是什么状态,是可以修改的状态才运行你当前要修改的这一 *** 作。建议这样实现:再你要检查的那个表中加一个标志性字段,可以定义成bit,1的时候表示当前这一条数据可以被修改,也就是没有其他人来 *** 作它,0的时候,这条数据不能被修改,其他人正在 *** 作它。当遇到不能修改这条数据的时候,这里可以用多线程控制去做每隔一小段时间的重复查询,看看这条数据是否可以修改了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)