C# 获取数据库中所有表名、列名的示例代码

C# 获取数据库中所有表名、列名,实现代码如下所示:

        List<Dictionary<string, string>>  GetColsName(Guid gtype,string tableName,string itemIndex= "COLUMN_NAME")
        {
            DataTable dsTablesData = DbDataHelper.GetCon().GetOleDbSchemaTable(gtype, new Object[] { null, null, tableName, null });
            List<Dictionary<string, string>> ditCol = new List<Dictionary<string, string>>() ;

            for (int i = 0; i < dsTablesData.DefaultView.Table.Rows.Count; i++)
            {
                ditCol.Add(new Dictionary<string, string> { { i.ToString(), i.ToString() } });
            }

            foreach (DataRow item in dsTablesData.DefaultView.Table.Rows)
            {
                int pos = Convert.ToInt32(item["ORDINAL_POSITION"]);
                int typeIndex = Convert.ToInt32(item["DATA_TYPE"]);

                ditCol[pos-1]= new Dictionary<string, string> { { item[itemIndex].ToString(), DBData.getInstance().GetColNameType(typeIndex) } };
            }

            return ditCol;
        }

        List<string> GetTablesName(Guid gtype,string tableType ="TABLE", string strTableName =null , string itemIndex= "TABLE_NAME")
        {
            List<string> strNames = new List<string>();

            DataTable dsTablesData = DbDataHelper.GetCon().GetOleDbSchemaTable(gtype, new Object[] { null, null, strTableName, tableType });

            foreach (DataRow item in dsTablesData.DefaultView.Table.Rows)
            {
                strNames.Add(item[itemIndex].ToString());
            }

            return strNames;
        }

调用

            DBData.getInstance()._tableNames = GetTablesName(OleDbSchemaGuid.Tables);

            foreach (var tableName in DBData.getInstance()._tableNames)
            {
                List<Dictionary<string, string>> tmp = GetColsName(OleDbSchemaGuid.Columns, tableName);
            }

通过dataTable获取

       /// <summary>
       /// 根据datatable获得列名
       /// </summary>
       /// <param name="dt">表对象</param>
       /// <returns>返回结果的数据列数组</returns>
        public static List<string> GetColumnsByDataTable(DataTable dt)
        {
            List<string> list = new List<string>();

            foreach (DataColumn item in dt.Columns)
            {
                list.Add(item.ColumnName);
            }

            return list;
        }

到此这篇关于C# 获取数据库中所有表名、列名的文章就介绍到这了,更多相关C# 获取数据库表名、列名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    1.sqldmo SQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式.在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO.SQLDMO的对象模型大家可以在SQLServer的帮助中获得. 复制代码 代码如下: private void GetTabels_DMO(string strServerName,string strUser,string strPWD,string

  • c#获得目标服务器中所有数据库名、表名、列名的实现代码

    复制代码 代码如下: /// <summary>        /// 获得目标服务器所有数据库名        /// </summary>        /// <param name="serverName"></param>        /// <param name="userName"></param>        /// <param name="passwor

  • C# 获取数据库中所有表名、列名的示例代码

    C# 获取数据库中所有表名.列名,实现代码如下所示: List<Dictionary<string, string>> GetColsName(Guid gtype,string tableName,string itemIndex= "COLUMN_NAME") { DataTable dsTablesData = DbDataHelper.GetCon().GetOleDbSchemaTable(gtype, new Object[] { null, nul

  • sql语句查询数据库中的表名/列名/主键/自动增长值实例

    sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

  • Sql查询MySql数据库中的表名和描述表中字段(列)信息

    下面为大家介绍利用SQL查询语句获取Mysql数据库中表的表名,表描述.字段ID.字段名.数据类型.长度.精度.是否可以为null.默认值.是否自增.是否是主键.列描述 一.查询表信息(表名/表描述) SELECT table_name name,TABLE_COMMENT value FROM INFORMATION_SCHEMA.TABLES WHERE table_type='base table' and table_schema = '数据库名' order by table_name

  • mysql中如何查询数据库中的表名

    目录 查询数据库中的表名 查询一个数据库中含有某关键词的表名 查询数据库中所有的表 总结 查询数据库中的表名 查询一个数据库中含有某关键词的表名 搜索一个数据库中包含一些关键字,词的表. SELECT      TABLE_NAME  FROM     information_schema. TABLES WHERE     table_schema = '数据库名'     AND TABLE_NAME LIKE '%name%'; 例: mysql> select table_name fr

  • Mysql中返回一个数据库的所有表名,列名数据类型备注

    desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schema select * from columns where table_name='表名'; 顺便记下: show databases; 也可以这样 use information_schema select table_schema,table_name from tables where table_schema='数据

  • 如何得到数据库中所有表名 表字段及字段中文描述

    在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下: 如下代码能正常运行,都是网上查找资料最后拼凑总结出来的.条件就自己加吧.网上好像也有不少类型的东西,这里留着以备不时只需! 复制代码 代码如下: SELECT (case when a.colorder=1 then d.name else '' end) N'表名', a.colorder N'字段序号', a.name N'字段名', (case when COLUMNPROPERTY( a.id,a.na

  • javascript获取form里的表单元素的示例代码

    //获取form对象 var form=document.getElementById('my_form'); //用户名input对象 user_name是对象的name属性 var userName=form.user_name; //用户名清空 userName.value=''; //用户密码input对象 password是对象的name属性 var password=form.password; //用户密码清空 password.value=";

  • Mysql数据库中数据表的优化、外键与三范式用法实例分析

    本文实例讲述了Mysql数据库中数据表的优化.外键与三范式用法.分享给大家供大家参考,具体如下: 数据表优化 将商品信息表进行优化 1.创建商品种类表: create table if not exists goods_cates( id int unsigned primary key auto_increment, name varchar(40) not null ); 2.将商品种类写入商品种类表中: 注意:插入另一个表的查询结果不需要加values insert into goods_

  • MySQL 数据库中数据表超详细的基本操作

    目录 1. 查看当前数据库中的表 2. 创建表 3. 查看指定表结构 4. 删除表 5. 往表中新增数据 6. 查找表中的数据 6.1 全列查询 6.2 指定列查询 6.3 查询字段为表达式 6.4 给某个列指定常量 6.5 给查询的表达式指定别名(as) 6.6 去重查询(distinct) 6.7 对查询结果进行排序(order by) 6.8 条件查询(where) 6.9 分页查询(limit) 7. 修改表中的数据 8. 删除表中的数据 前言: 库名.表名.列名等等不能和关键字相同,如

随机推荐