c# - 在c#中监控mysql数据库

标签 c# php mysql

在我的 Visual Studio C# 项目中,我建立了与 mySQL 数据库的连接。目前有一个计时器每 0.1 秒执行一个方法。此方法检查我的 mysql-DB 中的值是否已更改。如果值发生变化,我表单中的标签将像新变量一样被调用。

现在我想在没有计时器的情况下执行此操作,因此应用程序应该识别值是否自行更改。使用属性可以实现这一点吗?

这是我当前的代码:

private void timer1_Tick(object sender, EventArgs e)
    {
        Dictionary<string, string> humechDictionary = sqlClientHumech.Select("control");
        System.Diagnostics.Debug.WriteLine(humechDictionary);
        var countTest = sqlClientHumech.Count("control");
        System.Diagnostics.Debug.WriteLine(countTest);
        foreach (KeyValuePair<string, string> kvp in humechDictionary)
        {
            System.Diagnostics.Debug.WriteLine("Key = {0}, Value = {1}",
                kvp.Key, kvp.Value);
        }
        var modusValue = humechDictionary["modus"];
        System.Diagnostics.Debug.WriteLine(modusValue);
        if (modusValue == "excel")
        {
            label1.Text = "EXCEL";
        }
        else if (modusValue == "kinect")
        {
            label1.Text = "KINECT";
        }
        else if (modusValue == "manuell")
        {
            label1.Text = "MANUELL";
        }
    }

最佳答案

不,这种从服务器出站的推送通知在普通 MySQL 中是不可能的。如果您正在寻找 DBMS 中列值的更改,则需要轮询它,就像您一直在做的那样。

您可以创建一个用户定义的函数并从触发器中调用它。但出于多种原因,这是一种危险的方法。

这是对这个问题的一个很好的讨论。 http://karwin.blogspot.com/2006/10/catch-22-of-active-database.html

关于c# - 在c#中监控mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27138020/

相关文章:

c# - VS2005 C# : is there a special visual-studio way to create properties or can the the code just be typed out?

php - 如何使用ajax在DIV中加载AngularJs页面

php - 有没有一种方法可以仅通过使用notepad++和mysql服务器5.0来使用php和mysql?

php - 防止 SQL 注入(inject)的建议

C#:向 WebClient 发送数据时正确完成连接

c# - 知道类型参数是否在 c# 2.0 中实现接口(interface)的更简单方法是什么?

javascript - PhantomJS 408 错误 "Socket operation timed out"

mysql - 如何删除mysql表中的外键关系

php - 无法使用 DB_NAME : Access denied for user

c# - RSA 公共(public)指数默认为 65537。这个值应该是多少?我的选择有什么影响?