SqlException не было обработано

Дайте совет, у меня есть код, при его выполнении выводится это исключение:

Исключение SqlException не обработано Не удалось связать составной идентификатор "T.TerritoryDescription".
Не удалось связать составной идентификатор "T.TerritoryID".
Не удалось связать составной идентификатор "T.TerritoryDescription". не быть связанным.

Когда я запускаю SQL-запрос в Management Studio, я получаю некоторый результат. Когда я запускаю код с этим скриптом в Visual Studio, я получаю исключение в этой строке кода.

reader = command.ExecuteReader();

Вот мой код:

public void databaseQuestion()
{
    SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
    SqlCommand command = 
       new SqlCommand((@"select T.TerritoryID,T.TerritoryDescription,avg(O.Freight)
                         from Employees E
                         inner join EmployeeTerritories ET on E.EmployeeID = ET.EmployeeID
                         inner join Orders O on E.EmployeeID = O.EmployeeID
                         where T.TerritoryDescription ='Bedford'
                         group by T.TerritoryID,T.TerritoryDescription,O.Freight") ,con);
    dbFile = filePath + @"\sqlFile.txt";

    SqlDataReader reader;

    con.Open();
    reader = command.ExecuteReader();

    using (StreamWriter file = new StreamWriter(dbFile, false))
    {
        while (reader.Read())
        {
            file.WriteLine(reader["T.TerritoryID"] + "\t" + reader["T.TerritoryDescription"]+ "\t" +reader["O.Freight"]);
        }
    }

    reader.Close();
    con.Close();
}     

person user3367824    schedule 04.10.2014    source источник
comment
У вас нет таблицы с псевдонимом T в вашем операторе sql. Если вы сначала запустите статус sql в SqlServer Management Studio, вы можете это исправить.   -  person rene    schedule 04.10.2014
comment
Да, похоже, вы не присоединились к своему столу, территориям (или как там на самом деле)   -  person CM Kanode    schedule 04.10.2014


Ответы (1)


ошибка с составным идентификатором XXXX не может быть привязана. говорит, что если XXXX состоит из псевдонима для таблицы, вы должны проверить, не определен ли этот псевдоним для таблицы в том же запросе. В вашем сценарии вы используете псевдоним с именем «T», который никогда не определялся ни для одной таблицы в вашем запросе (у вас есть псевдоним E для сотрудников, O для заказов и ET для территорий сотрудников).

person Vahid Farahmandian    schedule 08.04.2015