DataTable.Select() 方法的单引号问题

用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("'","''");!!
这点如果不注意会给程序带来不小的麻烦!

你可能感兴趣的:(Datatable)