modernsky2003

c#获取数据库中所有表名称的方法

在很多情况下我们需要将指定的数据库中的所有表都列出来。在使用c#进行软件开发时,我们有哪些方法可是实现这个目的呢?本人对此进行概要的总结,有以下6中方式可以实现这个目的。

1、sqldmo
SQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO。SQLDMO的对象模型大家可以在SQLServer的帮助中获得。

        private void GetTabels_DMO(string strServerName,string strUser,string strPWD,string strDatabase)
        {
            SQLDMO.SQLServer Server = new SQLDMO.SQLServerClass();                
            //连接到服务器
            Server.Connect(strServerName,strUser,strPWD);
            //对所有的数据库遍历,获得指定数据库
            for(int i=0;i<Server.Databases.Count;i++)
            {
                //判断当前数据库是否是指定数据库
                if(Server.Databases.Item(i+1,"dbo").Name ==strDatabase)
                {
                    //获得指定数据库
                    SQLDMO._Database db= Server.Databases.Item(i+1,"dbo");
                    //获得指定数据库中的所有表
                    for(int j=0;j<db.Tables.Count;j++)
                    {
                        MessageBox.Show(db.Tables.Item(j+1,"dbo").Name);
                    }
                }
            }
        }

posted on 2010-02-08 11:04  hekeneng  阅读(1652)  评论(3编辑  收藏  举报

导航