2017-12-06 10 views
1

DirectorySearchフィルタの文字列をロードしようとしています。文字列に末尾の文字が追加されない

strFilter = "((objectClass=container)(cn=" & strParameter & "))" 

最後の文字は問題ではなく、文字列に追加されていません。常に次のようになります。

strFilter = "((objectClass=container)(cn=" & strParameter 

これはとてもイライラです。その後も括弧を追加することはできません。何が起こっている?文字列はこのように振る舞うべきではありません!

+0

問題のある行の前にコードを表示してください。 –

+0

彼らは... strParameterの中身は何ですか?それが設定された直後のstrFilterの値をチェックしますか? –

+2

'strParameter'にヌル文字(char 0)が含まれている場合、残りの文字列は実際には存在しますが、ほとんどのテキストエディタ/ビューアでレンダリングされません。あなたの文字列からヌル文字をトリミングし、問題が解決したかどうかを調べてください。 'strFilter ="((objectClass = container)(cn = "&strParameter.Trim(ChrW(0))&")) "' –

答えて

1

strParameterにヌル文字(char 0)が含まれている場合、残りの文字列は実際には存在しますが、ほとんどのテキストエディタ/テキストビューアでレンダリングされません。これは、通常、文字列の終わりを示すためにヌル文字が使用されるために発生します。

strFilter = "((objectClass=container)(cn=" & strParameter.Trim(ChrW(0)) & "))" 

詳細情報::


場合、それはあなたの問題を修正する場合

あなたの文字列から任意のnullで文字をトリミングしてみて見ますあなたは将来何らかの理由で文字列の途中でヌル文字が発生すると、すべてのヌル文字をすべて削除することができます:

strFilter = "((objectClass=container)(cn=" & strParameter.Replace(ChrW(0), "") & "))" 
関連する問題