SqlException не был обработан C# - в System.Data.dll
Поэтому я пытаюсь запустить свой код, когда я получаю эту ошибку:
Исключение типа "System.Data.SqlClient.SqlException" произошло в System.Data.dll, но не было обработано в коде пользователя. Дополнительная информация: Неверный синтаксис рядом с "b".
Код выглядит так:
string query = "select a.Navn from Ejer a" +
"INNER JOIN SlipsEjer b ON a.Id = b.EjerId" +
"Where b.SlipsId = SlipsId";
using (connection = new SqlConnection(connectionString))
using (SqlCommand command = new SqlCommand(query, connection))
using (SqlDataAdapter adapter = new SqlDataAdapter(command))
{
command.Parameters.AddWithValue("@SlipsId", SlipsLB.SelectedValue);
DataTable ejerTable = new DataTable();
adapter.Fill(ejerTable);
EjerLB.DisplayMember = "Navn";
EjerLB.ValueMember = "Id";
EjerLB.DataSource = ejerTable;
}
Я не знаю, почему.. Я попытался запустить его через новый запрос в Sql, и он прекрасно работает там..
Надеюсь, вы, ребята, можете помочь! Спасибо
1 ответ
Решение
Добавьте пробел в конце каждой строки. Также добавьте символ @ для параметра.
string query = "select a.Navn from Ejer a " +
"INNER JOIN SlipsEjer b ON a.Id = b.EjerId " +
"Where b.SlipsId = @SlipsId";
Кто-то предложил использовать дословную строку в комментарии. Вот образец дословной строки. Вы можете легко скопировать ваш запрос из Management Studio. Хотя я предпочитаю использовать хранимую процедуру.
string query = @"
select a.Navn from Ejer a
INNER JOIN SlipsEjer b ON a.Id = b.EjerId
Where b.SlipsId = @SlipsId
";