当前位置:编程学习 > C#/ASP.NET >>

如何在C#中完成对ACCESS表设计视图

最近由于项目要求,需要为用户提供对ACCESS表结构的修改,要求大致同ACCESS里面的表设计视图功能,请问如何能实现,其实能调用表设计视图也可以,想了很久也没想出怎么做,希望大家能给点意见。 
--------------------编程问答-------------------- 倾情一顶 --------------------编程问答-------------------- 没人知道吗?我想用datagridview做,把每个字段和结构都读出来,然后在datagridview里显示,觉得有点麻烦,其实我觉得最好是能直接调用access的表设计视图就好了,但不知道该怎么调用。 --------------------编程问答-------------------- 直接调用不会。
自己做个界面也没那么麻烦吧。。。。。 --------------------编程问答-------------------- 读ACCESS的结构,然后自己做显示 --------------------编程问答-------------------- 用程序直接调出Access给用户
或者用Office解决方案嵌入Access开发。 --------------------编程问答-------------------- 1.用SQL语句 Alter Table应该可以
2.用微软的COM组建ADOX(要添加对ADOX.DLL的引用)

有个示例代码(里边用ADOX创建数据库文件,用SQL语句创建表,但是也可以不用SQL语句,直接用ADOX创建表,修改表)

 
static void Main(string[] args)
        {
                    
            OleDbConnectionStringBuilder builder = new OleDbConnectionStringBuilder();
            builder["Provider"] = "Microsoft.Jet.OLEDB.4.0";
            string currentPath = Assembly.GetExecutingAssembly().Location;
            string dbpath = Path.GetDirectoryName(currentPath) + @"\info.mdb";

            builder["Data Source"] = dbpath;
            builder["User ID"] = "Admin";
            builder["Jet OLEDB:Database Password"] = "delux";
            Console.WriteLine(builder.ConnectionString + Environment.NewLine);
           
            Console.WriteLine("按任意键开始创建数据库。(注意,如果数据库已存在,会被覆盖)" + Environment.NewLine);
          
            Console.ReadKey(true);
            if (File.Exists(dbpath))
            {
                File.Delete(dbpath);
            }

            ADOX.CatalogClass catalog = new CatalogClass();
            catalog.Create(builder.ConnectionString);
            
            Console.WriteLine("创建成功,按任意键创建表." + Environment.NewLine);
            
            Console.ReadKey(true);

            string create = @"Create Table MusicInfo
                (
                    [FilePath] nvarchar(250) not null ,
                    [SongName] nvarchar(200) ,
                    [Artist] nvarchar(40) ,
                    [ext] nchar(10) ,
                    constraint [Pk_Path] primary key([FilePath])
                )    
            ";
            OleDbConnection con = new OleDbConnection(builder.ConnectionString);
            OleDbCommand cmd = new OleDbCommand(create, con);
            con.Open();
            cmd.ExecuteNonQuery();
            con.Close();
            
            Console.WriteLine("创建成功,按任意键退出.");
            Console.ReadKey(true);


        }
--------------------编程问答-------------------- 是修改表结构, 要读出表字段名和类型等信息 ,我觉得比较麻烦 。可以直接调用 ACCESS表结构设计器就好了。 --------------------编程问答-------------------- 修改表结构可以用Alter Table语句啊 或者直接用ADOX --------------------编程问答-------------------- 好高深了》。。。。。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,