blazedanger35
Doçent
- Katılım
- 3 Nisan 2008
- Mesajlar
- 609
- Reaksiyon puanı
- 3
- Puanları
- 0
Merhabalar , vb.net uygulamamda bir formumda aynı tanımlamaları veya işlemleri tekrar tekrar yapıyorum.
Kodlarımın dökümü burada.
Bunları nasıl minimize ederim ?
Tekrar tekrar Data Adapter , Dataset , AutoComplete kullandım.
Bunları üstte tanımlayarak , altta bir click veya checked change olayında bunları tekrar tekrar yazacağıma yukarıya nasıl değer gönderebilirim ?
Mesela , film radio button u seçildiğinde da,ds,autocomplete tanımlamadan sadece sql yazarak yukarıdaki işleri yaptırmak gibi vs.
Kodlarımın dökümü burada.
Bunları nasıl minimize ederim ?
Kod:
Imports System.Data.OleDbPublic Class Veritabani
Private Sub Veritabani_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sqlliste As String = "select * from Liste order by ID"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
VeritabaniBindingSource.DataSource = ds
VeritabaniBindingSource.DataMember = "Liste"
VeritabaniDataGridView.DataSource = VeritabaniBindingSource
VeritabaniDataGridView.Columns("Fragman").Visible = False
VeritabaniDataGridView.RowHeadersVisible = False
VeritabaniDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
baglan.Close()
LblDurum.Text = "Sisteme Kayıtlı Film Sayısı: " & VeritabaniBindingSource.Count
Me.Text = "Film Veritabanı"
ara.Focus()
End Sub
Private Sub ara_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ara.TextChanged
If RBFilm.Checked = True Then
If ara.Text.Trim = "" Then
VeritabaniBindingSource.Filter = ""
Else
VeritabaniBindingSource.Filter = String.Format("Film Like '" & ara.Text) & "*'"
End If
ElseIf RBOyuncu.Checked = True Then
Try
If ara.Text = "" Then
Veritabani_Load(sender, e)
Else
'Dim sqlaccess As String = "SELECT DISTINCT Liste.ID, Liste.Film, Liste.Tur, Liste.Sure, Liste.Yili, Liste.IMDB, Liste.Dil, Liste.Aciklama, Liste.Medya, Liste.Fiyat, Liste.Stok, Liste.Fragman"
'sqlaccess += " FROM Oyuncu INNER JOIN (Liste INNER JOIN FilmOyuncu ON Liste.ID = FilmOyuncu.Film) ON Oyuncu.ID = FilmOyuncu.Oyuncu"
Dim sqloyuncu As String = "SELECT DISTINCT Liste.ID, Liste.Film, Liste.Tur, Liste.Sure, Liste.Yili, Liste.IMDB, Liste.Dil, Liste.Aciklama, Liste.Medya, Liste.Fiyat, Liste.Stok, Liste.Fragman,Oyuncu.Ad_Soyad FROM ((Oyuncu INNER JOIN FilmOyuncu ON Oyuncu.ID = FilmOyuncu.Oyuncu) INNER JOIN Liste ON FilmOyuncu.Film = Liste.ID) WHERE (Oyuncu.Ad_Soyad LIKE '" & ara.Text & "%')"
'(Oyuncu.Ad_Soyad LIKE ? + '%')" // Visual Studio Query si ile çalışıyor.
Dim da As New OleDbDataAdapter(sqloyuncu, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
VeritabaniBindingSource.DataSource = ds
VeritabaniBindingSource.DataMember = "Liste"
VeritabaniDataGridView.DataSource = VeritabaniBindingSource
VeritabaniDataGridView.Columns.Remove("Ad_Soyad")
End If
VeritabaniDataGridView.RowHeadersVisible = False
VeritabaniDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
baglan.Close()
Catch ex As Exception
End Try
ElseIf RBYonetmen.Checked = True Then
Try
Dim sqlyonetmen As String = "SELECT Liste.ID, Liste.Film, Liste.Tur, Liste.Sure, Liste.Yili, Liste.IMDB, Liste.Dil, Liste.Aciklama, Liste.Medya, Liste.Fiyat, Liste.Stok, Liste.Fragman,Yonetmen.Yonetmen FROM (Liste INNER JOIN Yonetmen ON Liste.ID = Yonetmen.ID) WHERE (Yonetmen.Yonetmen LIKE '" & ara.Text & "%')"
Dim da As New OleDbDataAdapter(sqlyonetmen, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
VeritabaniBindingSource.DataSource = ds
VeritabaniBindingSource.DataMember = "Liste"
VeritabaniDataGridView.DataSource = VeritabaniBindingSource
VeritabaniDataGridView.Columns.Remove("Yonetmen")
VeritabaniDataGridView.RowHeadersVisible = False
VeritabaniDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
baglan.Close()
Catch ex As Exception
End Try
ElseIf RBTur.Checked = True Then
VeritabaniBindingSource.Filter = String.Format("Tur Like '" & ara.Text) & "*'"
ElseIf RBDil.Checked = True Then
VeritabaniBindingSource.Filter = String.Format("Dil Like '" & ara.Text) & "*'"
End If
End Sub
Private Sub RBFilm_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBFilm.CheckedChanged
ara.Focus()
Dim sqlliste As String = "select Film from Liste"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("Film").ToString())
Next
ara.AutoCompleteSource = AutoCompleteSource.CustomSource
ara.AutoCompleteCustomSource = col
ara.AutoCompleteMode = AutoCompleteMode.Suggest
baglan.Close()
End Sub
Private Sub RBOyuncu_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBOyuncu.CheckedChanged
ara.Focus()
Dim sqlliste As String = "select Ad_Soyad from Oyuncu"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("Ad_Soyad").ToString())
Next
ara.AutoCompleteSource = AutoCompleteSource.CustomSource
ara.AutoCompleteCustomSource = col
ara.AutoCompleteMode = AutoCompleteMode.Suggest
baglan.Close()
End Sub
Private Sub RBYonetmen_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBYonetmen.CheckedChanged
ara.Focus()
Dim sqlliste As String = "select Yonetmen from Yonetmen"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("Yonetmen").ToString())
Next
ara.AutoCompleteSource = AutoCompleteSource.CustomSource
ara.AutoCompleteCustomSource = col
ara.AutoCompleteMode = AutoCompleteMode.Suggest
baglan.Close()
End Sub
Private Sub RBTur_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBTur.CheckedChanged
ara.Focus()
Dim sqlliste As String = "select Tur from Tur"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("Tur").ToString())
Next
ara.AutoCompleteSource = AutoCompleteSource.CustomSource
ara.AutoCompleteCustomSource = col
ara.AutoCompleteMode = AutoCompleteMode.Suggest
baglan.Close()
End Sub
Private Sub RBDil_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RBDil.CheckedChanged
ara.Focus()
Dim sqlliste As String = "select Dil from Dil"
Dim da As New OleDbDataAdapter(sqlliste, baglan)
Dim ds As New DataSet
baglan.Open()
da.Fill(ds, "Liste")
Dim col As New AutoCompleteStringCollection
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
col.Add(ds.Tables(0).Rows(i)("Dil").ToString())
Next
ara.AutoCompleteSource = AutoCompleteSource.CustomSource
ara.AutoCompleteCustomSource = col
ara.AutoCompleteMode = AutoCompleteMode.Suggest
baglan.Close()
End Sub
Private Sub Veritabani_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Oturum.Show()
End Sub
End Class
Tekrar tekrar Data Adapter , Dataset , AutoComplete kullandım.
Bunları üstte tanımlayarak , altta bir click veya checked change olayında bunları tekrar tekrar yazacağıma yukarıya nasıl değer gönderebilirim ?
Mesela , film radio button u seçildiğinde da,ds,autocomplete tanımlamadan sadece sql yazarak yukarıdaki işleri yaptırmak gibi vs.