SSRS ненавижу меня. Прямо сейчас, чувство взаимно.SSRS: конкатенация строк с нулевыми строками
Я пытаюсь работать со строками, которые могут быть или не быть нулевыми. Я использовал инструкцию VB IIF
; после некоторого поиска ошибок, которые я получал, я обнаружил, что оператор IIF
не замыкается так, как вы ожидали бы, если бы выполнялись инструкции. Я исправил проблему, изменив операторы IIF
на If
. Думали, что все было хорошо.
До тех пор, пока я не столкнулся с проблемой here.
Так что я застрял. Я попытался поместить все в кодовом блоке отчета, думая, что я мог бы изолировать себя от проблем, я бегу в, например, так:
Public Function DisplayUserName(ByVal UserName As String, ByVal FirstName As String, ByVal MiddleName As String, ByVal LastName As String) As String
'SSRS sucks. Specifically, with empty strings and if statements that aren't IIF. Hence the code block.
'See https://stackoverflow.com/q/27418185/677526. Unfortunately IIF can't work here.
Dim result As New System.Text.StringBuilder()
If Not System.String.IsNullOrWhitespace(UserName) Then
result.Append(UserName)
result.Append(VbCrLf)
End If
If Not System.String.IsNullOrWhitespace(FirstName) Then
result.Append(FirstName)
result.Append(" ")
End If
If Not System.String.IsNullOrWhitespace(MiddleName) Then
result.Append(GetChar(MiddleName, 1))
result.Append(". ")
End If
If Not System.String.IsNullOrWhitespace(LastName) Then
result.Append(LastName)
End If
Return result.ToString()
End Function
... но теперь я бегу в проблемы с IsNullOrWhitespace
не является членом System.String
.
Я почти потерял здесь, так как я борюсь со своими инструментами. Кто-нибудь сталкивался с этим раньше, пытаясь объединить группу строк, которая может быть нулевой? Как вы решили проблему? Следует отметить, что я могу сделать это в нашем SQL-запросе (и я почти готов отказаться и сказать что угодно), но конкатенация строк, похоже, несколько замедляет запрос.
Почему вы не построить строку в вашем SQL? –
@TabAlleman «Заметьте, я могу сделать это в нашем SQL-запросе (и я почти готов отказаться и сказать что угодно), но конкатенация строк, похоже, несколько замедляет запрос». –