Если честно, я удивлен, что ваш код даже компилируется, потому что в конце каждой строки нет символа конкатенации String.
Следует учесть, что хотя для объединения строк в Visual Basic допустимо использовать оператор +
, предпочтительно использовать оператор &
. Это позволит избежать двусмысленности между конкатенацией строк и математическим оператором для сложения.
Что еще нужно учитывать, это то, что, в зависимости от используемой версии Visual Studios, вы должны рассмотреть возможность использования String Interpolation или String.Format для форматирования вашей String.
Строковая интерполяция
Представленный в Visual Basic 14, он позволяет вам интерполировать ваши строки. Две строки в следующем коде возвращают одну и ту же строку (при условии, что имена переменных):
Dim foo As String = $"{variable1}: {variable2} - {variable3}"
Dim bar As String = variable1 & ": " & variable2 & " - " & variable2
В этом случае значения, представленные в variable1, variable2 и variable3, будут включены в String, но обратите внимание, насколько проще читать литерал String. Более того, IDE Visual Studio по-разному окрашивает интерполированные переменные.
String.Format Является своего рода предшественником интерполяции String. Две строки в следующем коде делают то же самое, что и выше:
Dim foo As String = String.Format("{0}: {1} - {2}", variable1, variable2, variable3)
Dim bar As String = variable1 & ": " & variable2 & " - " & variable2
Я бы предложил вам воспользоваться одним из двух описанных методов и посмотреть, поможет ли это.
P.S. - Я заметил, что вы делаете некоторые преобразования типов, такие как CType(ThCredFPTDDTP.SelectedDate, DateTime)
. На самом деле нет причин для этого, так как вы конвертируете его из Date в Date в String. Если вы хотите преобразовать переменную DateTime в String, вызовите метод ToString, при желании передавая желаемый формат: ThCredFPTDDTP.SelectedDate.ToString("mm/dd/yyyy")
Это предложение было недействительным, поскольку элементы управления являются пользовательскими элементами управления сторонних производителей
P.S.S. - После нашего разговора было определено, что человек, от которого вы унаследовали код, пытался создать строку запроса SQL, передавая значения в строке запроса, то есть используя запрос без параметров. Я бы посоветовал вам преобразовать код, чтобы использовать параметры для очевидных преимуществ SQL, а также для улучшения читабельности.