/// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
public sealed class FieldFitString
{
const string _SEPERATOR = "&^*"; /// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
/// <param name="dt"></param>
public static void FitString(DataTable dt)
{
DataTable tmp = dt.GetChanges();
if (tmp == null) return; //枚举Columns,仅处理字符类型的Field
//枚举DataRow,仅处理新增、修改状态的记录
string tmpFileNames = string.Empty; //取出字段
for (int i = ; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].DataType == Type.GetType("System.String"))
{
tmpFileNames += _SEPERATOR + dt.Columns[i].Caption;
}
} string[] FileNames = tmpFileNames.Split(new string[] { _SEPERATOR }, StringSplitOptions.RemoveEmptyEntries); //仅处理已修改的资料行
foreach (DataRow dr in dt.Rows)
{
if (dr.RowState == DataRowState.Added || dr.RowState == DataRowState.Modified)
{
foreach (string filename in FileNames)
{
dr[filename] = RemoveChar(ConvertEx.ToString(dr[filename]));
}
}
}
} /// <summary>
/// 将资料表中已修改的资料行数据去左右空格、全角转半角
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public static string RemoveChar(string str)
{
if (String.IsNullOrEmpty(str)) return str; try
{
string NewStr = string.Empty;
char[] c = str.ToCharArray();
for (int i = ; i < c.Length; i++)
{
byte[] b = System.Text.Encoding.Unicode.GetBytes(c, i, ); if (b.Length == )
{
//全角
if (b[] == || b[] == )
{
b[] = (byte)(b[] + );
b[] = ;
NewStr += System.Text.Encoding.Unicode.GetChars(b)[];
}
else
{
NewStr += c[i];
}
}
} return NewStr.Trim();//去左右空格 }
catch
{
return str;
}
} }

最新文章

  1. Winserver2012下mysql 5.7解压版(zip)配置安装
  2. Win32 OpenProcess打开进程失败,返回5无权限操作
  3. Ubuntu14.04 LTS更新源
  4. 使用MySql数据库, 浏览器接收返回数据报错SyntaxError: unterminated string literal
  5. BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛
  6. Guava学习
  7. Unity3D脚本使用:游戏对象访问
  8. poj1743 Musical Theme 后缀数组的应用(求最长不重叠重复子串)
  9. 接口测试入门(2)--get和post初级请求/使用httpclient做一个获取信息list的请求(需要登录才可以)
  10. python—day02
  11. 理解性能的奥秘——应用程序中慢,SSMS中快(5)——案例:如何应对参数嗅探
  12. 我的react+material-ui之路
  13. leetcode — partition-list
  14. CentOS 7下Samba服务安装与配置详解
  15. Spark 精品文章转载(目录)
  16. python中使用configparser库,实现配置文件的读取
  17. 第 7 章 多主机管理 - 045 - 安装 Docker Machine
  18. NC 6系后台调用接口保存单据
  19. 一道题浅析 i++,++i,i+1及(引用)&amp;i的区别
  20. Word2007发布博客

热门文章

  1. asp.net 导出excel 中文乱码解决方法 (转)
  2. Ubuntu 下修改 Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
  3. xcode几个常用的快捷键
  4. Objective-C中的关联(objc_setAssociatedObject,objc_getAssociatedObject,objc_removeAssociatedObjects)
  5. DASH简介及使用方法(FFmpeg, MP4Box)
  6. RS-232针脚(8 pin)
  7. 【JMeter4.0学习(十一)】之JMeter对(Mysql、Oracle)数据库性能测试脚本开发
  8. [转]mysqlx 同时使用 AND OR
  9. saltstack内置执行模块useradd
  10. linux卸载一个源码包安装的软件的流程