0
我试图创建一个应用程序,只要将新行添加到数据库,就可以弹出通知消息。我使用mysql并将默认引擎更改为csv引擎,以便我可以使用FileSystemWatcher以检测任何更改。当一个行被删除时,filesystemwatcher会触发,但是当新行被添加到数据库时,问题是它没有触发已更改的事件。我还观察到,当一行被删除时,“修改日期”正在改变,但是当我添加一个新行不更新。请帮帮我。FileSystemWatcher没有正确检测到更改
private void button1_Click(object sender, EventArgs e)
{
FileSystemWatcher fsw = new FileSystemWatcher();
fsw.Path = "C:\\xampp\\mysql\\data\\doubts\\";
fsw.EnableRaisingEvents = true;
fsw.Changed += new FileSystemEventHandler(func);
}
private void func(Object obj,FileSystemEventArgs e)
{
notifyIcon1.Icon = SystemIcons.Application;
notifyIcon1.BalloonTipText =
"Addition of new row to the database detected...";
notifyIcon1.ShowBalloonTip(4000);
}
你可以发布代码吗? – 2011-12-28 17:09:04
你能证实磁盘上的文件实际上已经改变了吗?也许MySQL还没有完成更改。 – 2011-12-28 17:28:38
您正试图通过监视文件系统事件来检测数据库内的更改。这真的不是一个好方法,我认为你遇到的麻烦突显了这一点。 – Yuck 2011-12-28 17:41:51