我遇到如下方法的问题:
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;
}
此方法位于方法类中,我将所有方法放在。
中我想要的是返回datareader中的内容并将其显示在datagridview中,该数据视图位于名为Mainform的表单上。我的方法当前返回null,因为我在返回任何内容之前关闭了连接。我现在不知道该怎么做,因为我无法关闭Mainform中的连接,我甚至不知道这是否是正确的方法,或者我可能应该以另一种方式返回它。我希望你们中的任何人都可以帮助我。感谢。
答案 0 :(得分:0)
如果我已正确阅读问题。
添加CommandBehavior.CloseConnection
将执行更改为读取
statsDocentenR = statsDocenten.ExecuteReader(CommandBehavior.CloseConnection);
删除connectie.Close();
当阅读器关闭时,连接将关闭。