0
我有,看起來像下面這樣的方法存在問題:防止SQLdatareader返回NULL怎麼辦?
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中,並將其顯示在一個名爲Mainform的窗體上的datagridview中。我的方法當前返回null,因爲我在返回任何東西之前關閉連接。我現在不知道該怎麼做,因爲我無法關閉Mainform中的連接,而我甚至不知道這是否是正確的方式,或者我可能應該以其他方式返回。我希望你們中的任何人都可以幫我解決這個問題。謝謝。
當數值已被返回且方法不再使用時,閱讀器是否自行關閉? –
好了,謝謝! –
@NiekJonkman GC將處理閱讀器,連接將關閉。然而,當我讀完'statsDocentenR.Close()'後,我會調用close方法。如果你不知道連接將保持打開狀態,你永遠不會知道連接會持續多久。 – Fred