C# FileSystemWatcher未正确检测到更改

C# FileSystemWatcher未正确检测到更改,c#,.net,mysql,filesystemwatcher,C#,.net,Mysql,Filesystemwatcher,我试图创建一个应用程序,每当向数据库添加新行时,该应用程序都会弹出一条通知消息。我使用mysql并将默认引擎更改为csv引擎,这样我就可以使用FileSystemWatcher检测任何更改。FileSystemWatcher会在删除行时触发,但问题是它的触发没有更改事件。我还注意到,当删除一行时,“修改日期”正在更改,但当我添加新行时,它不会更新。请帮帮我 private void button1_Click(object sender, EventArgs e) { FileSyste

我试图创建一个应用程序,每当向数据库添加新行时,该应用程序都会弹出一条通知消息。我使用mysql并将默认引擎更改为csv引擎,这样我就可以使用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);
}

我建议您定期轮询数据库以检查更改的记录

如果您的查询很昂贵,您可以创建一个
插入后
更新后
触发器,将其插入到另一个表中,然后轮询该表

如果这仍然不够,您可以这样做:从应用程序中运行如下命令

SELECT "WaitForChanges", SLEEP(999);

创建一个触发器,通过以下命令终止此选择:。

能否验证磁盘上的文件是否已更改?也许MySQL还没有刷新更改。您正试图通过监视文件系统事件来检测数据库中的更改。这真的不是一个好方法,我认为您遇到的麻烦强调了这一点。实际上,当我在数据库中使用FLUSH表时,一切都很好…你能告诉我数据没有刷新以添加新行,而刷新以删除新行…还有什么方法可以在添加新行时不使用csv引擎触发事件。请注意,最终我需要将其与.net应用程序连接…我相信这就是
SqlDependency
类用于:。但我认为它只适用于MSSQL。