如何使用Sqldependency自动更新页面加载 [英] How auto update pageload using Sqldependency

查看:91
本文介绍了如何使用Sqldependency自动更新页面加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从Web表单运行sqldependency方法。我从一个窗口形式创建了UpdateMethod。

然而,当网页版本发生变化时,网页格式版本不会在客户端自动更新页面加载数据库,而窗口形式。



窗口形式方法版本:

I am trying to run a sqldependency method from a web form. I created "UpdateMethod", from a window-form.
However the web-form version, does not update the page-load automatically on the client-side, when there is a change in the database, whereas window-form does.

Window form method version:

delegate void GridDelegate(DataTable table);      
private void UpdateGrid()
        {
            string sql = "SELECT * FROM [dbo].[User]";
            DataTable dt = new DataTable();
            using (SqlConnection con = new SqlConnection(connectionstring))
            {
                using (SqlCommand cmd = new SqlCommand(sql, con))
                {
                    con.Open();
                    dep = new SqlDependency(cmd); //Passing Command to SQL dependency 
                    dep.OnChange += dep_OnChange;
                    using (SqlDataReader rdr = cmd.ExecuteReader())
                    {
                        dt.Load(rdr);
                    }
                }
            }
            dataGridView1.Invoke((GridDelegate)delegate(DataTable table)
            { dataGridView1.DataSource = table; }, dt);
        }







///////网页表单///// ///////

Web表单方法版本:




/////// web form ////////////
Web-form method version:

private void UpdateGrid()
        {
            string sql = "SELECT * FROM [dbo].[User] order by uploadDate desc";
            DataTable dt = new DataTable();
            using (SqlConnection con = new SqlConnection(GetConnectionString()))
            {
                
                try 
                {
                    using (SqlCommand cmd = new SqlCommand(sql, con))
                    {
                        con.Open();
                        SqlDependency dep;
                        dep = new SqlDependency(cmd); //Passing Command to SQL dependency 
                        dep.OnChange += dep_OnChange;

                        using (SqlDataReader rdr = cmd.ExecuteReader())
                        {
                            dt.Load(rdr);
                            // GridView1.DataSource = rdr;
                        }

                    }

                }

                catch (Exception ex)
                {
                    throw ex;
                }
            }
            GridView1.DataSource = dt;
            GridView1.DataBind();
        }





我错过了我的网络表单方法。请指教。非常感谢。



Am I missing something from my web-form method. Please advice. Many thanks.

推荐答案

请查看以下链接



http://stackoverflow.com/questions/7200443 / asp-net-webforms-how-to-avoid-some-page-load-events-when-a-link-is-clicke [ ^ ]



http:// stackoverflow。 com / questions / 8092554 / asp-net-page-load-event [ ^ ]
please check the below link

http://stackoverflow.com/questions/7200443/asp-net-webforms-how-to-avoid-several-page-load-events-when-a-link-is-clicke[^]

http://stackoverflow.com/questions/8092554/asp-net-page-load-event[^]


这篇关于如何使用Sqldependency自动更新页面加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆