Невозможно запросить данные с помощью c # - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть три таблицы курса, тексты и book_adoption.Я получаю сообщение об ошибке, когда выполняю следующий код:

connect();
            string qstr = "select course_id, book_isbn, book_title from texts natural join Book_Adoption natural join course where exists(select count(book_isbn) from Book_Adoption natural join course group by dept having count(course_id)>1) order by book_title";
            da = new OleDbDataAdapter(qstr, con);
            ds = new DataSet();
            da.Fill(ds, "course");
            //da.Fill(ds, "Texts");
            //da.Fill(ds, "Book_Adoption");
            dt = ds.Tables[0];
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                listBox1.Items.Add(dt.Rows[i]["course_id"].ToString());
                listBox1.Items.Add(dt.Rows[i]["book_isbn"].ToString());
                listBox1.Items.Add(dt.Rows[i]["book_title"].ToString());
            }

Я получаю сообщение об ошибке в строке da.Fill(ds, "texts"); Когда я не использую естественное соединение и не выполняю простой запрос, я получаюправильный вывод.Что не так с кодом?

1 Ответ

1 голос
/ 21 февраля 2012

Я думаю, что это может быть этот бит вашего SQL-запроса

(select count(book_isbn) from Book_Adoption

Вы выбираете счетчик, а не столбец, и это может вызвать проблему, поскольку он не знает имя столбца.
См. здесь для аналогичного сценария.

...