读书人

字符串连接的时候出现的有关问题

发布时间: 2012-02-12 17:16:34 作者: rapoo

字符串连接的时候出现的问题
CString strSelect = _T( "Select GroupRight FROM GroupInformation WHERE GroupName= ");
for( int i=0; i <size; i++ ) {
if( i==0 ) strSelect = strSelect + _T( " ' ") + m_gArray[i] + _T( " ' ");
else strSelect = strSelect + _T( " OR GroupName= ' ") + m_gArray[i] + _T( " ' ");
}
但是最后得到的字符串是
Select GroupRight FROM GroupInformation WHERE GroupName= '批量下载 ' OR GroupName= '所有权限
最后的 ' 加不上去

还有另外一个语句,sql的最后sql 后面+ _T( " ') ") ,但是也加不上去

m_gArray是cstringarray类型


[解决办法]
看下CString的Format方法,另外SQL语句里最好不要有中文。
[解决办法]
CString strSelect = _T( " ");
CString str = _T( "Select GroupRight FROM GroupInformation WHERE GroupName= ");
for( int i=0; i <size; i++ ) {
if( i==0 )
strSelect.Format( _T( "%s '%s ' "), str,m_gArray[i] );
else strSelect.Format( _T( "%sOR GroupName= '%s ' "), str,m_gArray[i] );
}

有几个指针相加减的尽量少用=

读书人网 >C++

热点推荐