csharp: datatable get Column datatype or Column Name

/// <summary>
        ///列表名
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public static string GetColumnNames(System.Data.DataTable table)
        {
            if (table != null)
            {
                List<string> lstColumn = new List<string>();

                foreach (System.Data.DataColumn col in table.Columns)
                {
                    lstColumn.Add(col.ColumnName);
                }

                return String.Join(",", lstColumn.ToArray());
            }

            return string.Empty;
            //foreach (DataRow row in table.Rows)
            //{
            //    foreach (DataColumn column in table.Columns)
            //    {
            //        ColumnName = column.ColumnName;
            //        ColumnData = row[column].ToString();
            //    }
            //}
        }
        /// <summary>
        /// 数据类型
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public static string GetColumnNamesType(System.Data.DataTable table)
        {
            if (table != null)
            {
                List<string> lstColumn = new List<string>();

                foreach (System.Data.DataColumn col in table.Columns)
                {
                    lstColumn.Add(table.Columns[col.ColumnName].DataType.ToString());
                }

                return String.Join(",", lstColumn.ToArray());
            }

            return string.Empty;

        }

        /// <summary>
        /// 列名和数据类型
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public static DataTable  GetColumnDataNamesType(System.Data.DataTable table)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("datatype", typeof(string));

            if (table != null)
            {             

                foreach (System.Data.DataColumn col in table.Columns)
                {

                    dt.Rows.Add(col.ColumnName, table.Columns[col.ColumnName].DataType.ToString());
                }
            }

            return dt;

        }

  

时间: 2024-08-06 21:35:23

csharp: datatable get Column datatype or Column Name的相关文章

MySQL5.7之Json Column和Generated Column

MySQL5.7新增两种字段类型:Json和Generated,Generated型的产生和Json的关系密不可分,如果没有Generated类型,Json类型在强大,生产中可能也无法使用,因为Json不支持索引,但是如果要查询Json里的数据,没有索引就是全表扫描,在执行效率上肯定是不能用于生产环境的,但是有了Generated类型就不同了,Generated类型简单地说是一个虚拟字段,值是不可更新的,值来源其他字段或者字段间计算或是转化而来的,这种类型是可以创建索引,利用Generated的

ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的使用

ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN DESC)函数的作用是指定COLUMN(列)进行分区,在分区内指定COLUMN(列)进行排序,其中PARTITION BY COLUMN 为分区函数.代码具体实现如下 不进行分区的排序方式--对商品价格的升序排序 SELECT A.*, ROW_NUMBER() OVERORDER BY PRICE ASC) AS ROW_FLG FROM COMMODITY A 进分区的排序方式--对商

MySQL:ALTER COLUMN、MODIFY COLUMN 和 CHANGE COLUMN

ALTER COLUMN.MODIFY COLUMN 和 CHANGE COLUMN 语句修改列: ALTER COLUMN:改变.删除列的默认值. 这个语句会直接修改 .frm 文件而不涉及表数据,所以操作很快. -- 改变列的默认值 ALTER TABLE test ALTER COLUMN age SET DEFAULT 17; -- 删除列的默认值 ALTER TABLE test ALTER COLUMN age DROP DEFAULT; MODIFY COLUMN:修改列数据类型:

mysql之ALTER COLUMN、CHANGE COLUMN、MODIFY COLUMN的区别

ALTER COLUMN:设置或删除列的默认值(操作速度非常快) 例子: alter table film alter column rental_duration set default 5; alter table film alter column rental_duration drop default; CHANGE COLUMN:列的重命名.列类型的变更以及列位置的移动 例子: ALTER TABLE MyTable CHANGE COLUMN foo bar VARCHAR(32)

alter column和modify column

5.6中,发现其实alter column 和更改modify column 步骤是一样的 mysql> create table xs(name varchar(12),age int default 5);Query OK, 0 rows affected (0.34 sec) mysql> insert into xs values('a',4);Query OK, 1 row affected (0.05 sec) mysql> set profiling=1;Query OK,

LeetCode[Math]----Excel Sheet Column Title----Excel Sheet Column Number

Excel Sheet Column Title Given a positive integer, return its corresponding column title as appear in an Excel sheet. For example: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 分析: 给一个正整数,返回对应的Excel中列的表示.这种表示是用字母A-Z来表示的,以26为进制. 类比十进

MySQL--MODIFY COLUMN和ALTER COLUMN

=================================================== 在修改列时,可以使用ALTER TABLE MODIFY COLUMN  和ALTER TABLE ALTER COLUMN两种方式修改列. 对于部分只需要修改表定义而不需要修改表数据的操作,使用ALTER COLUMN操作可以避免数据发生移动,提高ALTER 操作效率. 只需要修改表结构的操作有:1.更改字段的默认值2.增加和删除字段的AUTO_INCREMENT属性(主要是增加属性而不是增

跟着杨中科循序渐进学习wpf(全)

第一季 C#编程基础 1.用C#编写一个10+20=?的小程序: public static voidMain(tring[] args) { int i1=10; int i2=20; int i3=i1+i2; Console.WriteLine(i3);           //也可用占位符来实现:Console.WriteLine("{0}+{1}={2}",i1,i2,i1+i2);在输出参数较多时候要用占位符 Console.ReadKey();             

EF Code-First 学习之旅 Code First Conventions

协定是一系列的默认规则用来自动配置领域中的概念模型 1:类型发现 Code-First对包含DBSet属性的类型创建表(包括这些类型的所有引用类型) public class Student { public Student() { } public int StudentID { get; set; } public string StudentName { get; set; } public DateTime DateOfBirth { get; set; } public byte[]