用DataTable.Select(string)或给DataView.RowFilter设置Expression表达式时,由于Expression是字符串拼接而成的,因为跟SQL语句也要注意单引号问题.如这个的查询会导致异常的发生:
DataRow[] m_drResult = dt.Select("name = 'name's'"); 解决办法是将一个单引号变成两个(跟SQL语法是一样的).
DataRow[] m_drResult = m_dtSource.Select("name = 'name''s'") 所以在使用Select方法或DataView的时候,一定要注意把字符条件值的一个单引号改成两个单引号,执行
str = str.Replace("'","''");!!
这点如果不注意会给程序带来不小的麻烦!