首页 > 其他分享 >datatable数据列全转换为字符串

datatable数据列全转换为字符串

时间:2023-11-09 21:47:13浏览次数:34  
标签:col 列全 ColumnName dtResult 字符串 itemCol datatable lsCol row

         /// <summary>         /// datatable数据列全转换为字符串
        /// </summary>
        /// <param name="sourceTable"></param>
        /// <returns></returns>
        public static DataTable ConvertDataColumType(DataTable sourceTable)
        {
            //克隆表结构
            DataTable dtResult = sourceTable.Clone();
            List<string> lsCol = GetDateTimeColName(ref dtResult);
            foreach (DataRow row in sourceTable.Rows)
            {
                DataRow rowNew = dtResult.NewRow();
                foreach (DataColumn itemCol in dtResult.Columns)
                {
                    if (!lsCol.Contains(itemCol.ColumnName))
                    {
                        rowNew[itemCol] = row[itemCol.ColumnName];
                    }
                    else
                    {
                        string sColValue = !row.IsNull(itemCol.ColumnName)
                            ? DateTime.Parse(row[itemCol.ColumnName].ToString()).ToString("yyyy-MM-dd HH:mm:ss")
                            : "";
                        rowNew[itemCol] = sColValue;
                    }
                }
                dtResult.Rows.Add(rowNew);
            }
            return dtResult;
        }         public static List<string> GetDateTimeColName(ref DataTable dtResult)
        {
            List<string> lsCol = new List<string>();
            foreach (DataColumn col in dtResult.Columns)
            {
                if (col.DataType == typeof (System.DateTime)
                    && !lsCol.Contains(col.ColumnName))
                {
                    lsCol.Add(col.ColumnName);
                }
                //修改列类型
                col.DataType = typeof(string);
            }
            return lsCol;
        }

标签:col,列全,ColumnName,dtResult,字符串,itemCol,datatable,lsCol,row
From: https://www.cnblogs.com/leon1128/p/17822930.html

相关文章

  • C#将int型数字转换成3位字符串,不足的时候,前面补0
     int aa= 11;string aastr=aa.ToString("000");//或string aastr=aa.ToString().PadLeft(3,'0');//结果:011int num=2;//三位,不足左侧补零string str= string.format("{0:d3}",num);//结果:002string str1= string.format("{0}{{1:d4}}"......
  • SqlServer生成字符串主键
    ALTERPROCEDURE[dbo].[CreatePrimaryNo](@tblNamenvarchar(50),@filedNamenvarchar(50),@prefixnvarchar(50),@primaryNonvarchar(50)out) ASBEGINdeclare@Retnvarchar(4000)declare@currdaynvarchar(10)select@currday=convert(nvarchar(8),GETDA......
  • mysql字符串拼接的4种方式总结
    前言第一种:第二种:第三种:第四种(运算,只对数字有效):附:MySQLgroup_concat()详解总结 前言总是记不住字符串拼接,每次都要百度去搜索,所以在这里记录一下,好方便后续的查找,如有错误和问题可以提出,谢谢。字符串拼接分为几种方式,在这里会一一举例写出:第一种:mysql自带语法C......
  • 牛客[编程题] HJ29 字符串加解密
    HJ29 字符串加解密中等  通过率:25.47%  时间限制:1秒  空间限制:32M 描述对输入的字符串进行加解密,并输出。加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数......
  • redis 类型Hash 中value字符串存储空间大小
    在Redis中,Hash数据类型中的value是字符串,存储空间大小取决于存储在Hash中的每个value字符串的长度。Redis内部并不会额外存储每个value的元信息,因此存储空间大小主要由存储的字符串长度决定。每个字符串值的存储空间大小取决于以下因素:字符串长度:字符串的长度是主要的决定因素。较......
  • 《java解惑》--字符串之谜
    1.字符拼接:问题:程序员几乎在每天编程中都遇到和处理字符串拼接的问题,但是是否对其了解的足够深入,且看下面的程序:publicstaticvoidmain(String[]args){"H"+"a");'H'+'a');}很多人觉得输出结果应是:HaHa,但是真实的程序运行结果是:Ha169。原因:程序第一......
  • 最长平衡子字符串
    题目概述:给定一字符串s(只由字符0和1组成),返回其平衡子串的最长的长度。所谓平衡子串就是指在该字串中所有的0都在1之前,且0的数量和1的数量相等解题思路:由于数据范围比较小,所以直接暴力枚举所有子串,并判断是否为平衡子串更新答案即可。时间复杂度:\(O(n^4)\)代码:classSolution......
  • 9.找到字符串中所有字母异位词
    题目概述:给定字符串s,p,找到s字符串子串中所有p的异位词,返回该字串的起始位置。异位词:由相同字母组成。解题思路:由于其给定了p,所以枚举s中和p长度相同的子串,并判断是否为p的异位词(将p和子串都进行排序处理,再使用equals判断)。需要注意的是java中的substring(i,j)方法,获取的是[i,j)......
  • 牛客[编程题] HJ26 字符串排序
    HJ26 字符串排序  中等  通过率:39.52%  时间限制:1秒  空间限制:32M 描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。如,输入:Type输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入......
  • 判断一个字符串是否为回文字符串
    #include<stdio.h>#include<stdbool.h>#include<string.h>boolis_palindrome(char*str){intlength=strlen(str);for(inti=0,j=length-1;i<j;i++,j--){if(str[i]!=str[j]){returnfalse;}}retu......