扫描数据库中的新记录
本文关键字:新记录 数据库 扫描 | 更新日期: 2023-09-27 18:10:34
我在c#中有一个程序,它与数据库是这样工作的:
while(record found)
{
SPEAKS RECORD OUT TO SPEAKER
DELETES RECORD
}
在记录用完之前可以正常工作。
我想要的是继续扫描,即使没有在数据库中找到记录。当出现一条记录时,它应该执行逻辑。我如何刷新数据库,以便它扫描新记录?
任何想法?
您可能需要等待一段时间才能检查新记录。所以永远迭代并检查新记录。如果你有,就像往常一样。如果没有记录,请等待(例如2秒)然后再试一次
while(true){
if(record found){
// SPEAKS RECORD OUT TO SPEAKER
// DELETES RECORD
}else{
System.Threading.Thread.Sleep(2000); // sleep two seconds
}
}
如果你不等待请求之间,那么你会遇到问题,不断地请求新的记录。
另一个问题是"永远迭代"部分。通常,您要做的不是永远迭代,而是限制读取新记录的连续尝试次数:
int attempts = 0;
while(attempts < 3){
attempt++;
if(record found){
// SPEAKS RECORD OUT TO SPEAKER
// DELETES RECORD
attempts=0; // reset attempts counter
}else{
System.Threading.Thread.Sleep(2000); // sleep two seconds
}
}
所以你的程序不会永远尝试
从您的伪代码来看,您好像运行了一个执行SELECT的ADO命令。您将按照命令运行时的状态迭代这些结果。它不是一个易失性的数据结构。
因此,您将再次运行SELECT命令,以查看自上次运行SELECT以来是否出现了任何新记录。