Reputation: 11
I'm doing VB project for my exam but when I start my code it says
Hata occurred. Error: Connection could not be closed, connection state is open.
Here is my code:
Imports System.Collections.ObjectModel
Imports System.Data.SqlClient
Public Class Form1
Private SqlBaglanti As New SqlConnection(SqlBaglantiCumlesi())
Private OgrenciBilgileriSqlDA As SqlDataAdapter
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
SqlBaglanti.Open()
OgrenciBilgileriniGetir()
Dim Sorgu As String = "SELECT * FROM OgrenciTablo"
' SqlDataAdapter oluşturun
OgrenciBilgileriSqlDA = New SqlDataAdapter(Sorgu, SqlBaglanti)
' SqlCommandBuilder kullanarak Insert, Update ve Delete komutlarını otomatik oluşturun
Dim SqlKomutOlusturucu As New SqlCommandBuilder(OgrenciBilgileriSqlDA)
OgrenciBilgileriSqlDA.InsertCommand = SqlKomutOlusturucu.GetInsertCommand
OgrenciBilgileriSqlDA.UpdateCommand = SqlKomutOlusturucu.GetUpdateCommand
OgrenciBilgileriSqlDA.DeleteCommand = SqlKomutOlusturucu.GetDeleteCommand
' DataSet'i doldurun
OgrenciBilgileriSqlDA.Fill(CengizhanOkulVTDS, "OgrenciTablo")
OgrenciTabloBS.DataSource = CengizhanOkulVTDS.Tables("OgrenciTablo")
Catch ex As Exception
MessageBox.Show("Hata Oluştu.Lütfen Sistem Yöneticiniz ile bağlantı kurunuz. Hata: " & ex.Message, "Hata")
Finally
SqlBaglanti.Close()
End Try
End Sub
Private Sub btnKaydet_Click(sender As Object, e As EventArgs) Handles btnKaydet.Click
VTyeKaydet()
End Sub
Private Sub btnSil_Click(sender As Object, e As EventArgs) Handles btnSil.Click
Dim Satir As DataRowView = OgrenciTabloBS.Current
Dim Mesaj As String = String.Format("{0} {1} isimli Öğrenciyi silmek istediğinize emin misiniz?", Satir("Adi"), Satir("Soyadi"))
If MessageBox.Show(Mesaj, "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.None, MessageBoxDefaultButton.Button2) = DialogResult.Yes Then
OgrenciTabloBS.RemoveCurrent()
VTyeKaydet()
End If
End Sub
Private Sub VTyeKaydet()
Try
Me.Validate()
OgrenciTabloBS.EndEdit()
If OgrenciBilgileriSqlDA.Update(CengizhanOkulVTDS, "OgrenciTablo") > 0 Then
MessageBox.Show("Yapılan tüm değişiklikler başarı ile kaydedildi.", "Bilgi")
' ButonlariKullan() fonksiyonunu eklemiş olmanız gerekiyor
End If
Catch ex As Exception
MessageBox.Show("Hata oluştu. Hata: " & ex.Message, "Hata")
End Try
End Sub
Private Sub OgrenciBilgileriniGetir()
Dim Sorgu As String = "SELECT * FROM OgrenciTablo"
Dim SqlKomut As New SqlCommand(Sorgu, SqlBaglanti)
Try
SqlBaglanti.Open()
If Not CengizhanOkulVTDS.Tables.Contains("OgrenciTablo") Then
CengizhanOkulVTDS.Tables.Add("OgrenciTablo")
Else
CengizhanOkulVTDS.Tables("OgrenciTablo").Clear()
End If
OgrenciBilgileriSqlDA.Fill(CengizhanOkulVTDS, "OgrenciTablo")
OgrenciTabloBS.DataSource = CengizhanOkulVTDS.Tables("OgrenciTablo")
Catch ex As Exception
MessageBox.Show("Hata oluştu. Hata: " & ex.Message, "Hata")
Finally
SqlBaglanti.Close()
End Try
End Sub
End Class
I am trying to start my VB code, and I am trying to add data with form application to SQL Server
Upvotes: 1
Views: 72