object[] restrictions = new object[] { null, null, null,"VIEW" };
            string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Desktop\Volleyball.mdb;Persist Security Info=False";
            OleDbConnection connection = new OleDbConnection(connectionString);
            connection.Open();
            DataTable table = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            connection.Close();            dataGridView1.DataSource = table;
上页的代码不能显示更新的视图,只能显示select类的视图
UPDATE aa SET d = #4/6/2003#;怎样返回数据库的视图名称,包括更新的视图

解决方案 »

  1.   

    晕,更新的视图???  Access的视图还能这么用,真是长见识了,呵呵.Access没有系统表,估计比较麻烦,试试OleDbSchemaGuid.Procedures? 也许更新的视图被OleDb当成存储过程去了(因为mdb都没有存储过程),如果不行再试试OleDbSchemaGuid.Schemata.如果不行那也没辙了~~~我是你就换Access2007然后把那些视图都弄成存储过程得了
      

  2.   

    Access2007支持存储过程了啊,还没有试过啊。
      

  3.   

    不知道是不是这个意思,这是 SQL SERVER2000 
    查询数据库中的所有视图的数量
    select count(*) as c from sysobjects
    where type = 'V' and category = '0'
    --order by name asc 在sysobjects 中的 type 字段来区别为 数据库表 视图还是 存储过程 'U'是用户表
    'S'是系统表
    'V'是视图

    其中 category 来区别是系统视图还是用户创建的视图。