Я видел много похожих вопросов на этом сайте и в других местах, но ни один из них не помог мне.
Я пытаюсь установить соединение с базой данных с помощью запроса, но получаю ошибку
System.Data.SqlClient.SqlException: 'Неверный синтаксис рядом с' = '.'
в 2 разных строках кода. Я пытался использовать пробелы в запросе вокруг =, но это не помогает.
Код 1:
string connectieString = dbConnection();
SqlConnection connection = new SqlConnection(connectieString);
SqlCommand select = new SqlCommand();
select.Connection = connection;
select.Parameters.Add("@attackCategory", SqlDbType.NChar).Value = attackCategory;
select.Parameters.Add("@taughtOn", SqlDbType.NVarChar).Value = taughtOn;
select.CommandText = "SELECT ID, Name FROM attackCategory = @attackCategory WHERE TaughtOn = @taughtOn";
using (SqlDataAdapter sda = new SqlDataAdapter(select.CommandText, connection))
{
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
Исключение выдается в строке sda.Fill(dt);
код. Этот код работает, если в запросе не используются никакие параметры:
string cmd = @"select ID, Name from " + attackCategory + " where TaughtOn ='" + taughtOn + "'";
И код 2:
string connectieString = dbConnection();
SqlConnection connection = new SqlConnection(connectieString);
SqlCommand select = new SqlCommand();
select.Connection = connection;
select.Parameters.Add("@attackCategory", SqlDbType.NVarChar).Value = attackCategory;
select.Parameters.Add("@ID", SqlDbType.Int).Value = id;
select.CommandText = "SELECT Name FROM attackCategory = @attackCategory WHERE ID = @ID";
connection.Open();
object name = select.ExecuteScalar();
connection.Close();
return name;
Исключение возникает в строке кода object name = select.ExecuteScalar();
. Этот код работает, если в запросе используется 1 параметр:
select.Parameters.Add("@ID", SqlDbType.Int).Value = id;
select.CommandText = "SELECT Inhabitants FROM Planet WHERE ID=@ID";