DataTable獲取某一列最大內容長度


在項目中,需要將DataTable內容存入到DBF中,DBF要求某列的長度是固定的,不是可變得。因此需要計算出DatatTable中某一列的最大內容長度,從而定義DBF字段中的長度。方法實現如下:

      ///實現思路,增加一列用來存放內容的長度,然后對記錄長度的這列用max表達式計算出最大

     ///colName:列名

      
 public static int GetMaxLength(DataTable dt,string colName)
        {
            DataColumn maxLengthColumn new DataColumn();//從新定義一列,用來存放內容的長度
            maxLengthColumn.ColumnName = "MaxLength";//新列列名
            maxLengthColumn.DataType = typeof(Int32);//新列類型
            //其中name為列名,用到的函數為len
            maxLengthColumn.Expression = "len(convert("+colName+",'System.String'))";//len表達式用來計算長度
            dt.Columns.Add(maxLengthColumn);
            //用到的函數為Max
            object maxLength = dt.Compute("Max(MaxLength)""");//max表達式進行計算
            dt.Columns.Remove(maxLengthColumn);//移除新增列,不破壞原有DatatTable
            return Convert.ToInt32(maxLength);
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM