Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 缓存未在SqlDependency中刷新_C#_Asp.net_.net_Sqldependency - Fatal编程技术网

C# 缓存未在SqlDependency中刷新

C# 缓存未在SqlDependency中刷新,c#,asp.net,.net,sqldependency,C#,Asp.net,.net,Sqldependency,我想在更改数据库时自动刷新数据 我用过: 并将页面上的代码加载为: protected void Page_Load(object sender, EventArgs e) { conString = "Data Source=MITEJ5-PC\\MITEJTECHONOLY;Initial Catalog=SSISTestDatabase;Integrated Security=SSPI;"; SqlDependency.Start(conStri

我想在更改数据库时自动刷新数据

我用过:

并将页面上的代码加载为:

 protected void Page_Load(object sender, EventArgs e)
    {
        conString = "Data Source=MITEJ5-PC\\MITEJTECHONOLY;Initial Catalog=SSISTestDatabase;Integrated Security=SSPI;";

        SqlDependency.Start(conString);
        using (SqlConnection connection =
       new SqlConnection(conString))
        {
            using (SqlCommand command =
                new SqlCommand(GetSQL(), connection))
            {
                SqlCacheDependency dependency =
                    new SqlCacheDependency(command);
                // Refresh the cache after the number of minutes 
                // listed below if a change does not occur. 
                // This value could be stored in a configuration file. 
                int numberOfMinutes = 1;
                DateTime expires =
                    DateTime.Now.AddMinutes(numberOfMinutes);

                Response.Cache.SetExpires(expires);
                Response.Cache.SetCacheability(HttpCacheability.Public);
                Response.Cache.SetValidUntilExpires(true);

                Response.AddCacheDependency(dependency);

                connection.Open();

                gv.DataSource = command.ExecuteReader();
                gv.DataBind();
            }
        }
    }

 private string GetSQL()
    {
        return "select Name,Age,Address from tlbStudent;";
    }
但当我运行它并对SQL表数据进行更改时,它并没有自动在网格上反映它

上面的代码哪里有错


请帮助我。

首先,您需要了解
SqlDependency
的工作原理。阅读简短的介绍。一旦了解到真正的功能是查询通知,就可以了解使用通知进行查询的限制,请参阅。一旦此类限制被取消:

SELECT语句中的投影列必须明确说明,表名必须由两部分名称限定。请注意,这意味着语句中引用的所有表必须位于同一数据库中

有关未来的问题,请阅读。

中的问题

private string GetSQL()
{
    return "select Name,Age,Address from tlbStudent;";
}
表名应为2个部分“”

根据文件

SELECT语句中的投影列必须明确说明,表名必须由两部分组成。请注意,这意味着语句中引用的所有表必须位于同一数据库中

private string GetSQL()
{
    return "select Name,Age,Address from dbo.tlbStudent;";
}