Как решить, столбец «empID» не принадлежит таблице? - PullRequest
0 голосов
/ 01 мая 2020

В моей базе данных sql есть таблица Employee , в которой есть emp_Id , emp_name , manager_Id . Я пытаюсь получить все emp_name в виде списка и поместить их в ComboBox здесь мое sql утверждение:

string sql = "SELECT emp_name FROM Employee";

И вот как я Я помещаю их в СПИСОК

public static List<T> GetList<T>(DataTable dt)
            where T : IPopulateColumns, new()
        {
            List<T> TList = new List<T>();
            foreach (DataRow dr in dt.Rows)
            {
                T t1 = new T();
                t1.PopulateColumns(dr);
                TList.Add(t1);
            }
            return TList;

Здесь мой метод PopulateColumns внутри класса Employee: у меня есть имя поля и свойства для empId, empName , managerID внутри класса.

 public void PopulateColumns(DataRow dr)
        {

            this.empId = (int)dr["EmpId"];
            this.empName = dr["EmpName"].ToString();
            this.managerId = dr["ManagerID"].ToString();
        }

Я получаю сообщение об ошибке " Столбец EmpId" не принадлежит таблице

1 Ответ

0 голосов
/ 01 мая 2020

Поскольку у меня нет предоставленного вами завершенного кода, я рекомендую вам использовать следующий код

, чтобы получить все emp_name в виде списка и добавить их в качестве источника данных в выпадающем списке.

Код:

private void Form1_Load(object sender, EventArgs e)
        {
            string connstring = @"";
            SqlConnection connection = new SqlConnection(connstring);
            connection.Open();
            string sql = "SELECT emp_name FROM Employee";
            SqlCommand command = new SqlCommand(sql, connection);
            DataSet set = new DataSet();
            SqlDataAdapter adapter = new SqlDataAdapter(command);
            adapter.Fill(set);
            var result = set.Tables[0].AsEnumerable().Select(i=>i.Field<string>("emp_name")).ToList();
            comboBox1.DataSource = result;

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...