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
";
Другие вопросы по тегам