在c#中监控mysql数据库

时间:2014-11-25 22:31:59

标签: c# php mysql

在我的Visual Studio C#Project中,我与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";
        }
    }

1 个答案:

答案 0 :(得分:0)

不,使用vanilla MySQL无法从服务器出站这种推送通知。如果您正在寻找DBMS中列值的更改,则需要像以前一样轮询它。

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

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