BasicProgrammer__ Ответов: 1

Как поставить пробелы во время конкатенации?


Хорошо, так что я использую ASP.net и я пытаюсь поставить пробел между ними во время моей конкатенации.
Это код, который я использовал:
com.Parameters.AddWithValue("@Customer", txtFN.Text +" "+ txtLN.Text);


Но в результате все равно получился, например, RoseJack. Я хотела, чтобы это была Роза Джек.

Что я уже пробовал:

Я использовал:
com.Parameters.AddWithValue("@Customer", txtFN.Text +""+ txtLN.Text);

com.Parameters.AddWithValue("@Customer", txtFN.Text +"\n"+ txtLN.Text);

com.Parameters.AddWithValue("@Customer", txtFN.Text +" "+ txtLN.Text);

ZurdoDev

То, что у вас есть, должно работать, поэтому вам нужно посмотреть, что происходит в SQL.

BasicProgrammer__

Когда я проверил свой SQL, там не было пробелов...

ZurdoDev

Отладьте его. Проверьте, что коллекция параметров имеет сразу после строки, в которую вы ее добавляете.

Super Superman

Ряндев прав, однако я бы рекомендовал вам использовать любую строку.Формат("{0} {1}", txtFN.Текст, txtLN.Текст) или новее на C# метод интерполяции строк $"{txtFN.Текст} {txtLN.Текст}".

https://msdn.microsoft.com/en-us/library/system.string.format(v=против 110). aspx
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interpolated-strings

1 Ответов

Рейтинг:
10

OriginalGriff

Не имеет значения, что находится в любой из этих "внешних частей" конкатенации строк:

string s = input1 + " " + input2;
Будет всегда имейте пространство между ними.
Итак, код, который вы показываете:
com.Parameters.AddWithValue("@Customer", txtFN.Text +" "+ txtLN.Text);
Всегда будет разделять эти два имени, когда он передает их в SQL.
Таким образом, если значение в SQL не имеет пробела, есть две основные возможности:
1) код, который вы выполнили, - это не тот код, на который вы смотрите. Это может быть так же просто, как ошибка компиляции, означающая, что вы запустили старую версию EXE, не осознавая этого, или что у вас есть похожий код в двух местах, и вы изменили не тот. Есть много различных ошибок кода, которые вы могли бы сделать здесь!
В любом случае решение одно и то же: поставьте точку останова в этой строке и выполните свой код в отладчике, чтобы точно выяснить, что происходит.

2) База данных неверна, или вы смотрите не на ту базу данных, или ошибка в вашем SQL означает, что она не была выполнена. Начните с того, как вы уверены, что в данных базы данных нет места: используйте SSMS, чтобы очень тщательно изучить их до и после выполнения приложения, а также точно проверить, что там есть и что изменилось.

К сожалению, мы не можем сделать ничего из этого для вас: у нас нет вашего кода, у нас нет ваших данных - и вам нужно и то, и другое, чтобы понять, что происходит.