0

我对如下所示的方法有疑问:

    public SqlDataReader statistiekenDocentBekijken(int docentid)
    {
        //Conectie met de database
        SqlConnection connectie = new SqlConnection("user id=bbbbb;" +
           "password=bbbbb;server=bbbbb;" +
           "Trusted_Connection=false;" +
           "database=bbbbb; ");

        SqlCommand statsDocenten = new SqlCommand("SELECT * FROM ENQUETE_ANTWOORD LEFT JOIN KDV ON ENQUETE_ANTWOORD.kdv_ID = KDV.kdv_ID LEFT JOIN DOCENT ON KDV.docent_ID = DOCENT.docent_ID LEFT JOIN VAK ON KDV.vak_ID = VAK.vak_ID WHERE DOCENT.docent_ID = "+ docentid +" ",connectie);
        SqlDataReader statsDocentenR;
        connectie.Open();
        statsDocentenR = statsDocenten.ExecuteReader();
        connectie.Close();
        return statsDocentenR;
    }

这个方法位于一个类 Methods 中,我将所有方法都放入其中。

我想要的是返回 datareader 中的内容并将其显示在位于名为 Mainform 的表单上的 datagridview 中。我的方法当前返回 null,因为我在返回任何内容之前关闭了连接。我现在真的不知道该怎么做,因为我无法关闭我拥有的 Mainform 中的连接,我什至不知道这是否是正确的方法,或者我可能应该以另一种方式返回它。我希望你们中的任何人都可以帮助我解决这个问题。谢谢。

4

1 回答 1

0

如果我正确阅读了问题。

添加CommandBehavior.CloseConnection

将执行更改为读取

statsDocentenR = statsDocenten.ExecuteReader(CommandBehavior.CloseConnection);

消除connectie.Close();

当阅读器关闭时,连接将关闭。

于 2013-10-16T09:44:57.963 回答