无法使用c#查询数据

时间:2012-02-21 10:42:43

标签: c# visual-studio-2008 ms-access

我有三个课程,课程和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 个答案:

答案 0 :(得分:1)

我认为这可能是你的SQL查询的一点

(select count(book_isbn) from Book_Adoption

您选择的计数不是列,这可能会导致问题,因为它不知道列名 有关类似情况,请参阅here