Vbnet Datagridview Temizlemek
-
sa hocalar bir ton kod denedim hiç biri işe yaramadı bende mi sıkıntı var anlamadım ki bir hata mı yapıyorum acaba
burdakilerin hepsini denedim
https://stackoverflow.com/questions/2217175/vb-net-clear-datagridview
Formun Load eventine bir sql sorgusu var veriyi çekiyor iyi güzel fakat başka bir butondan yeni bir sql sorgusu yollayınca cevabı geliyor fakat eski datagridview in üzerine ekleniyor eskisi silinmiyor bir türlü beceremedim yardımcı olabilecek var mı ??
Imports MySql.Data.MySqlClient Public Class smmymmm Dim MySqlConn As MySqlConnection Dim Command As MySqlCommand Dim dbDataSet As New DataTable Dim Query As String Private Sub smmymmm_Load(sender As Object, e As EventArgs) Handles Me.Load Query = "Select * from `ys`" tablo_yukle(Query) End Sub Private Sub btn_sorgula_Click(sender As Object, e As EventArgs) Handles btn_sorgula.Click Query = "Select * from `ys` Where `ys_firmaadi` LIKE '%" & txtbx_firmaadi.Text & "%' OR `ys_adi` LIKE '%" & txtbx_adi.Text & "%' OR `ys_oda` LIKE '%" & txtbx_oda.Text & "%' OR `ys_sicil` LIKE '%" & txtbx_sicil.Text & "%' OR `ys_adres` LIKE '%" & txtbx_adres.Text & "%' OR `ys_il` LIKE '%" & txtbx_il.Text & "%' OR `ys_tel` LIKE '%" & txtbx_telno.Text & "%' OR `ys_cep` LIKE '%" & txtbx_cep.Text & "%'" tablo_yukle(Query) End Sub Private Sub tablo_yukle(Query As String) MySqlConn = New MySqlConnection MySqlConn.ConnectionString = "Burda bağlantı bilgileri var" Dim SDA As New MySqlDataAdapter Dim bSource As New BindingSource Try MySqlConn.Open() Command = New MySqlCommand(Query, MySqlConn) SDA.SelectCommand = Command SDA.Fill(dbDataSet) bSource.DataSource = dbDataSet DataGridView1.DataSource = dbDataSet SDA.Update(dbDataSet) MySqlConn.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally MySqlConn.Dispose() End Try End Sub End Class
-
TheAvenqer bunu yazdı
sa hocalar bir ton kod denedim hiç biri işe yaramadı bende mi sıkıntı var anlamadım ki bir hata mı yapıyorum acaba
burdakilerin hepsini denedim
https://stackoverflow.com/questions/2217175/vb-net-clear-datagridview
Formun Load eventine bir sql sorgusu var veriyi çekiyor iyi güzel fakat başka bir butondan yeni bir sql sorgusu yollayınca cevabı geliyor fakat eski datagridview in üzerine ekleniyor eskisi silinmiyor bir türlü beceremedim yardımcı olabilecek var mı ??
Imports MySql.Data.MySqlClient Public Class smmymmm Dim MySqlConn As MySqlConnection Dim Command As MySqlCommand Dim dbDataSet As New DataTable Dim Query As String Private Sub smmymmm_Load(sender As Object, e As EventArgs) Handles Me.Load Query = "Select * from `ys`" tablo_yukle(Query) End Sub Private Sub btn_sorgula_Click(sender As Object, e As EventArgs) Handles btn_sorgula.Click Query = "Select * from `ys` Where `ys_firmaadi` LIKE '%" & txtbx_firmaadi.Text & "%' OR `ys_adi` LIKE '%" & txtbx_adi.Text & "%' OR `ys_oda` LIKE '%" & txtbx_oda.Text & "%' OR `ys_sicil` LIKE '%" & txtbx_sicil.Text & "%' OR `ys_adres` LIKE '%" & txtbx_adres.Text & "%' OR `ys_il` LIKE '%" & txtbx_il.Text & "%' OR `ys_tel` LIKE '%" & txtbx_telno.Text & "%' OR `ys_cep` LIKE '%" & txtbx_cep.Text & "%'" tablo_yukle(Query) End Sub Private Sub tablo_yukle(Query As String) MySqlConn = New MySqlConnection MySqlConn.ConnectionString = "Burda bağlantı bilgileri var" Dim SDA As New MySqlDataAdapter Dim bSource As New BindingSource Try MySqlConn.Open() Command = New MySqlCommand(Query, MySqlConn) SDA.SelectCommand = Command SDA.Fill(dbDataSet) bSource.DataSource = dbDataSet
DataGridView1.DataSource = null
DataGridView1.DataSource = dbDataSet SDA.Update(dbDataSet) MySqlConn.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally MySqlConn.Dispose() End Try End Sub End ClassDataGridView1.DataSource = null
yukarıdaki alıntıda ekledim hocam. Birde böyle dener misiniz
-
Try Catch öncesi
DataGridView1.DataSource = null
şeklinde deneyebilir misin? Ayrıca başka bir butona basınca tablo_yukle adlı metodu mu kullanıyorsun?
-
Yazilimci bunu yazdıTheAvenqer bunu yazdı
sa hocalar bir ton kod denedim hiç biri işe yaramadı bende mi sıkıntı var anlamadım ki bir hata mı yapıyorum acaba
burdakilerin hepsini denedim
https://stackoverflow.com/questions/2217175/vb-net-clear-datagridview
Formun Load eventine bir sql sorgusu var veriyi çekiyor iyi güzel fakat başka bir butondan yeni bir sql sorgusu yollayınca cevabı geliyor fakat eski datagridview in üzerine ekleniyor eskisi silinmiyor bir türlü beceremedim yardımcı olabilecek var mı ??
Imports MySql.Data.MySqlClient Public Class smmymmm Dim MySqlConn As MySqlConnection Dim Command As MySqlCommand Dim dbDataSet As New DataTable Dim Query As String Private Sub smmymmm_Load(sender As Object, e As EventArgs) Handles Me.Load Query = "Select * from `ys`" tablo_yukle(Query) End Sub Private Sub btn_sorgula_Click(sender As Object, e As EventArgs) Handles btn_sorgula.Click Query = "Select * from `ys` Where `ys_firmaadi` LIKE '%" & txtbx_firmaadi.Text & "%' OR `ys_adi` LIKE '%" & txtbx_adi.Text & "%' OR `ys_oda` LIKE '%" & txtbx_oda.Text & "%' OR `ys_sicil` LIKE '%" & txtbx_sicil.Text & "%' OR `ys_adres` LIKE '%" & txtbx_adres.Text & "%' OR `ys_il` LIKE '%" & txtbx_il.Text & "%' OR `ys_tel` LIKE '%" & txtbx_telno.Text & "%' OR `ys_cep` LIKE '%" & txtbx_cep.Text & "%'" tablo_yukle(Query) End Sub Private Sub tablo_yukle(Query As String) MySqlConn = New MySqlConnection MySqlConn.ConnectionString = "Burda bağlantı bilgileri var" Dim SDA As New MySqlDataAdapter Dim bSource As New BindingSource Try MySqlConn.Open() Command = New MySqlCommand(Query, MySqlConn) SDA.SelectCommand = Command SDA.Fill(dbDataSet) bSource.DataSource = dbDataSet
DataGridView1.DataSource = null
DataGridView1.DataSource = dbDataSet SDA.Update(dbDataSet) MySqlConn.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally MySqlConn.Dispose() End Try End Sub End ClassDataGridView1.DataSource = null
yukarıdaki alıntıda ekledim hocam. Birde böyle dener misiniz
hocam denedim kabul etmedi null da hata verdi
Hata BC30451 'null' bildirilmedi. Koruma düzeyi nedeniyle erişilemez durumda olabilir.
-
ontedi bunu yazdı
Try Catch öncesi
DataGridView1.DataSource = null
şeklinde deneyebilir misin? Ayrıca başka bir butona basınca tablo_yukle adlı metodu mu kullanıyorsun?
evet hocam yine tablo_yukle metodu kullanıyorum misalen yeni veri girildi diye düşün tabloyu yeniden yüklemek istiyorum tarzında düşün
aynı üste yazdığımla aynı hatayı verdi
-
Private
Sub
tablo_yukle(Query
As
String
)
MySqlConn =
New
MySqlConnection
MySqlConn.ConnectionString =
"Burda bağlantı bilgileri var"
Dim
SDA
As
New
MySqlDataAdapter
Dim
bSource
As
New
BindingSource
dbDataSet = Nothing <-- BurasıTry
MySqlConn.Open()
Command =
New
MySqlCommand(Query, MySqlConn)
SDA.SelectCommand = Command
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridView1.DataSource = bSource <- Burası
SDA.Update(dbDataSet)
MySqlConn.Close()
Catch
ex
As
Exception
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End
Try
End
Sub
-
burakayser bunu yazdı
Private
Sub
tablo_yukle(Query
As
String
)
MySqlConn =
New
MySqlConnection
MySqlConn.ConnectionString =
"Burda bağlantı bilgileri var"
Dim
SDA
As
New
MySqlDataAdapter
Dim
bSource
As
New
BindingSource
dbDataSet = Nothing <-- BurasıTry
MySqlConn.Open()
Command =
New
MySqlCommand(Query, MySqlConn)
SDA.SelectCommand = Command
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridView1.DataSource = bSource <- Burası
SDA.Update(dbDataSet)
MySqlConn.Close()
Catch
ex
As
Exception
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End
Try
End
Sub
Hata vermedi fakat programı başlatınca
Değer null olamaz.
Parametre adı: dataTable
diye uyarı mesajı verdi tabloyu çekmedi
-
TheAvenqer bunu yazdıburakayser bunu yazdı
Private
Sub
tablo_yukle(Query
As
String
)
MySqlConn =
New
MySqlConnection
MySqlConn.ConnectionString =
"Burda bağlantı bilgileri var"
Dim
SDA
As
New
MySqlDataAdapter
Dim
bSource
As
New
BindingSource
dbDataSet = Nothing <-- BurasıTry
MySqlConn.Open()
Command =
New
MySqlCommand(Query, MySqlConn)
SDA.SelectCommand = Command
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridView1.DataSource = bSource <- Burası
SDA.Update(dbDataSet)
MySqlConn.Close()
Catch
ex
As
Exception
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End
Try
End
Sub
Hata vermedi fakat programı başlatınca
Değer null olamaz.
Parametre adı: dataTable
diye uyarı mesajı verdi tabloyu çekmedi
O zaman
dbDataSet = New DataTable de
olur büyük ihtimal.
-
burakayser bunu yazdıTheAvenqer bunu yazdıburakayser bunu yazdı
Private
Sub
tablo_yukle(Query
As
String
)
MySqlConn =
New
MySqlConnection
MySqlConn.ConnectionString =
"Burda bağlantı bilgileri var"
Dim
SDA
As
New
MySqlDataAdapter
Dim
bSource
As
New
BindingSource
dbDataSet = Nothing <-- BurasıTry
MySqlConn.Open()
Command =
New
MySqlCommand(Query, MySqlConn)
SDA.SelectCommand = Command
SDA.Fill(dbDataSet)
bSource.DataSource = dbDataSet
DataGridView1.DataSource = bSource <- Burası
SDA.Update(dbDataSet)
MySqlConn.Close()
Catch
ex
As
Exception
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End
Try
End
Sub
Hata vermedi fakat programı başlatınca
Değer null olamaz.
Parametre adı: dataTable
diye uyarı mesajı verdi tabloyu çekmedi
O zaman
dbDataSet = New DataTable de
olur büyük ihtimal.
Hocam adamsın çok sağol oldu sonunda kaç gündür sinirim bozulmuştu
Konuya yorum yazan herkese çok teşekkür ederim