C# form ile bir program geliştiriyorum,
datareader'i kapatmama rağmen bu sorunu aşamıyorum

Şimdiden çok teşekkür ederim yardımlarınız için

Kodları bırakıyorum.
void qrokumavesonra() { if (pictureBox1.Image != null) { BarcodeReader barcodeReader = new BarcodeReader(); Result result = barcodeReader.Decode((Bitmap)pictureBox1.Image); if (result != null) { textBox1.Text = result.Text; kod = result.Text; //sorgu kısmı try { SqlConnectionClass.CheckConnection(); string query = "SELECT CalisanID FROM dbo.QRKodlar WHERE QRKod = @qrKod"; using (SqlCommand command = new SqlCommand(query, SqlConnectionClass.sqlConnection)) { command.Parameters.AddWithValue("@qrKod", kod); // QR kodunuzun değerini içeren değişken // Komutu çalıştır ve sonucu al object result2 = command.ExecuteScalar(); // Sonucun boş olup olmadığını kontrol et if (result2 != null) { int calisanID = Convert.ToInt32(result2); label2.Text = ("QR kodunun ilişkilendiği CalisanID: " + calisanID); string timesorgu = "SELECT * FROM GiriscikisKayitlari WHERE CalisanID = @CalisanID"; // İkinci SqlCommand nesnesini burada kullanıyoruz using (SqlCommand timecmd = new SqlCommand(timesorgu, SqlConnectionClass.sqlConnection)) { timecmd.Parameters.AddWithValue("@CalisanID", calisanID); using (SqlDataReader reader = timecmd.ExecuteReader()) { if (reader.HasRows) { reader.Read(); DateTime? girisZamani = reader["GirisZamani"] as DateTime?; DateTime? cikisZamani = reader["CikisZamani"] as DateTime?; if (girisZamani == null) { query = "UPDATE GiriscikisKayitlari SET GirisZamani = @GirisZamani WHERE CalisanID = @CalisanID"; timecmd.CommandText = query; // Sorguyu güncelle timecmd.Parameters.AddWithValue("@GirisZamani", DateTime.Now); timecmd.ExecuteNonQuery(); label3.Text = "Giriş yapıldı."; } else if (cikisZamani == null) { query = "UPDATE GiriscikisKayitlari SET CikisZamani = @CikisZamani WHERE CalisanID = @CalisanID"; timecmd.CommandText = query; // Sorguyu güncelle timecmd.Parameters.AddWithValue("@CikisZamani", DateTime.Now); timecmd.ExecuteNonQuery(); label3.Text = "Çıkış Yapıldı"; } else { query = "INSERT INTO GiriscikisKayitlari (CalisanID, GirisZamani) VALUES (@CalisanID, @GirisZamani)"; timecmd.CommandText = query; // Sorguyu güncelle timecmd.Parameters.Clear(); // Önceki parametreleri temizle timecmd.Parameters.AddWithValue("@CalisanID", calisanID); timecmd.Parameters.AddWithValue("@GirisZamani", DateTime.Now); timecmd.ExecuteNonQuery(); label3.Text = "İkisi de dolu, giriş yapıldı"; } // SqlDataReader'ı kapatın reader.Close(); } else { query = "INSERT INTO GiriscikisKayitlari (CalisanID, GirisZamani) VALUES (@CalisanID, @GirisZamani)"; timecmd.CommandText = query; // Sorguyu güncelle timecmd.Parameters.Clear(); // Önceki parametreleri temizle timecmd.Parameters.AddWithValue("@CalisanID", calisanID); timecmd.Parameters.AddWithValue("@GirisZamani", DateTime.Now); timecmd.ExecuteNonQuery(); label3.Text = "İlk giriş yapıldı"; // SqlDataReader'ı kapatın reader.Close(); } } } } } } catch (Exception ex) { MessageBox.Show("Hata oluştu: " + ex.Message); } } } }