DataTable dan combobox a ve label e veri çekme
#1
[/code]Merhaba arkadaşlar,

Visual Studio 2008 de bir proje yapıyorum ve küçük bir sorun var.Şimdi Mssql veritabanı bağlantım var ve not sorgu tablomda combobox ta seçilen değere göre kodla forma label eklenecek ve her labelin içinde veritabanında kayılı olan derskodu ve dersadları gelecek. Labelleri kodlar oluşturdum fakat datatableden çekmeye gelince sorun yaşıyorum.Şimdiden teşekkürler...

kodlar:
vb.net
  1. Public Class notsorgu
  2. Dim conn As New SqlConnection("Data Source=ACER-BILGISAYAR\SQLEXPRESS;Initial Catalog=okul;Integrated Security=True")
  3. Dim com As SqlCommand = New SqlCommand("select * from notsorgu ", conn)
  4. Dim dr As SqlDataReader
  5. Dim dgv As DataGridView
  6. Dim dt As DataTable
  7. Dim ds As DataSet
  8.  
  9.  
  10. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  11. anamenu.Show()
  12. Me.Hide()
  13. End Sub
  14.  
  15. Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
  16. ogrencibilgileri.Show()
  17. Me.Hide()
  18.  
  19. End Sub
  20.  
  21. Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
  22. dersler1.Show()
  23. Me.Hide()
  24.  
  25. End Sub
  26.  
  27. Private Sub notsorgu_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  28. 'TODO: This line of code loads data into the 'DataSet11.dersler11' table. You can move, or remove it, as needed.
  29. ' Me.Dersler11TableAdapter.Fill(Me.DataSet11.dersler11)
  30.  
  31.  
  32. Dim ds As DataSet = New DataSet()
  33. Dim da As SqlDataAdapter = New SqlDataAdapter()
  34. Dim con As SqlConnection = New SqlConnection("Data Source=ACER-BILGISAYAR\SQLEXPRESS;Initial Catalog=okul;Integrated Security=True")
  35. Dim cmd As SqlCommand = New SqlCommand("select donemadi from dnm", con)
  36.  
  37. da.SelectCommand = cmd
  38. da.Fill(ds, "donemadi")
  39. combodonem.DataSource = ds.Tables("donemadi")
  40. combodonem.DisplayMember = "donemadi"
  41. combodonem.ValueMember = "donemid"
  42. 'comboBox1.SelectedIndex = -1;
  43. 'label3.Text = comboBox1.SelectedValue.ToString();
  44.  
  45. Dim connec As SqlConnection = New SqlConnection("Data Source=ACER-BILGISAYAR\SQLEXPRESS;Initial Catalog=okul;Integrated Security=True")
  46. Dim cmmd As SqlCommand = New SqlCommand("select * from donem ")
  47. cmmd.Connection = connec
  48. connec.Open()
  49. Dim drdonem As SqlDataReader = cmd.ExecuteReader()
  50. While drdonem.Read()
  51. Dim d As donem = New donem()
  52. d.donemadi = drdonem("donemadi")
  53. d.donemid = drdonem("donemid")
  54. combodonem.Items.Add(d)
  55. End While
  56. conn.Close()
  57. connec.Close()
  58. End Sub
  59.  
  60. Private Sub combodonem_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combodonem.SelectedIndexChanged
  61. Dim cmb As ComboBox = CType(sender, ComboBox)
  62. Dim str As String = ""
  63.  
  64. If cmb.SelectedIndex = 0 Then
  65. str = "select * from dersler1 where derskodu like '1%'"
  66.  
  67. For i As Integer = 0 To 9
  68.  
  69. Dim lbl As Label = New Label()
  70.  
  71.  
  72. lbl.Text = ds.Tables("dersler1").Rows(2).Item("derskodu")
  73.  
  74. lbl.Name = "lblKodu" & (i + 1)
  75. lbl.Location = New Point(50, 193 + i * 24)
  76.  
  77. Me.Controls.Add(lbl)
  78.  
  79. Next
  80.  
  81. Else
  82. str = "select * from dersler1 where derskodu like '2%'"
  83. For i As Integer = 0 To 9
  84.  
  85. Dim lbl As Label = New Label()
  86.  
  87.  
  88. lbl.Text = ds.Tables("dersler1").Rows(2).Item("derskodu")
  89. lbl.Name = "lblKodu" & (i + 1)
  90. lbl.Location = New Point(50, 193 + i * 24)
  91.  
  92. Me.Controls.Add(lbl)
  93.  
  94. Next
  95.  
  96.  
  97. Dim da As SqlDataAdapter = New SqlDataAdapter(str, conn)
  98. Dim cmmd As SqlCommand = New SqlCommand("select * from dersler1 ")
  99. conn.Open()
  100. dr = SqlCommand1.ExecuteReader
  101.  
  102. End If
  103.  
  104.  
  105. End Sub





  Alıntı
Bu mesajı beğenenler:
#2
Merhaba ,
Bu sorunu çözdüm ve başka arkadaşlarda arayabilirler diye ekliyorum...Umarım açıklayıcı olmuştur ve işinize yarar.

vb.net
  1. Private Sub combodonem_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles combodonem.SelectedIndexChanged 'COMBOBOX A YAZMAMIZIN SEBEBİ GÜZ VE BAHAR SEÇENEKLERİNİ CLASS TAN ALMAMIZDIR
  2. Dim labelbaglanti As SqlConnection = New SqlConnection("Data Source=ACER-BILGISAYAR\SQLEXPRESS;Initial Catalog=okul;Integrated Security=True")' BURADA YENİ BİR CONNECTİON TANIMLIYORUM
  3. Dim cmb As ComboBox = CType(sender, ComboBox)
  4. Dim str As String = ""
  5. If cmb.SelectedIndex = 1 Then
  6. str = "select * from dersler1 where derskodu like '1%'" ' DERSLER1 TABLOMUZDA BULUNAN VERİLERİ ÇEKİYORUZ
  7. ElseIf cmb.SelectedIndex = 2 Then
  8. str = "select * from dersler1 where derskodu like '2%'"
  9. Else
  10. Return
  11. End If
  12. Dim da As SqlDataAdapter = New SqlDataAdapter(str, labelbaglanti)
  13. Dim dt As DataTable = New DataTable()
  14. da.Fill(dt)
  15.  
  16. For i As Integer = 0 To 9
  17.  
  18. Dim lbl As Label = New Label() ' BU LABEL IMIZI DERSKODU İÇİN
  19. Dim lbl2 As Label = New Label() ' BU LABEL IMIZI DERS ADLARI İÇİN TANIMLADIK
  20. Dim txtas1 As TextBox = New TextBox()
  21. Dim txtfinal As TextBox = New TextBox()
  22. Dim txtort As TextBox = New TextBox()
  23. Dim txtdd As TextBox = New TextBox()
  24. Dim txth As TextBox = New TextBox() ' YENİ TEXBOXLARIMIZI OLUŞTURDUK
  25.  
  26. txtas1.Width = 45 ' BURADA TEXTBOX IN GENİŞLİĞİNİ KENDİMİZ BELİLEDİK
  27. txtas1.MaxLength = 2 ' BURDADA TEXTBOX A GİRİLEBİLECEK KARAKTER SAYISINI BELİRLEDİK
  28. txtfinal.Width = 45
  29. txtfinal.MaxLength = 2
  30. txtort.Width = 45
  31. txtort.MaxLength = 2
  32. txtort.ReadOnly = True
  33. txtdd.Width = 45
  34. txtdd.MaxLength = 1
  35. txtdd.ReadOnly = True
  36. txth.Width = 45
  37. txth.MaxLength = 2
  38. txth.ReadOnly = True
  39.  
  40. lbl.Text = dt.Rows(i)("derskodu").ToString() ' LABEL LERİMİZE DERSLER1 TABLOMUZDA BULUNAN VERİLERİ ÇEKTİK
  41. lbl2.Text = dt.Rows(i)("dersadi").ToString() ' LABEL2 YE DE DERS ADLARINI ÇEKTİK
  42. txtas1.Text = "".ToString() ' TEXTBOXLARIMIZIN BOŞ GELMESİNİ SAĞLADIK
  43. txtfinal.Text = "".ToString()
  44. txtort.Text = "".ToString()
  45. txtdd.Text = "".ToString()
  46. txth.Text = "".ToString()
  47. lbl.Name = "lblKodu" & (i + 1) ' OLUŞAN LABEL LERİN ADLARINI VERDİK VE İ DEĞİŞKENİNİ 1 ER ARTIRDIK (FOR DÖNGÜSÜNDE 0 DAN 9 A KADAR OLUŞMASINI İSTEMİŞTİK BUNUN İÇİN HER OLUŞAN LABEL DE +1 OLUŞUYOR VE 9 DA LABEL OLUŞUMU SONA ERİYOR). AYNILARINI DİĞER TEXTBOXLARA UYGULADIK
  48. lbl2.Name = "lblAdi" & (i + 1)
  49. txtas1.Name = "txtarasinav" & (i + 1)
  50. txtfinal.Name = "txtfinal" & (i + 1)
  51. txtort.Name = "txtortalama" & (i + 1)
  52. txtdd.Name = "txtdurum" & (i + 1)
  53. txth.Name = "txtharf" & (i + 1)
  54. lbl.Location = New Point(20, 66 + i * 23)' BURADA OLUŞACAK LABEL LARIN LOCATİONLARINI BELİRTTİK(FORMDAKİ KONUMLARI)
  55. lbl2.Location = New Point(20 + lbl.Width, 66 + i * 23)
  56. txtas1.Location = New Point(190 + lbl2.Width, 66 + i * 23)
  57. txtfinal.Location = New Point(295 + txtas1.Width, 66 + i * 23)
  58. txtort.Location = New Point(345 + txtfinal.Width, 66 + i * 23)
  59. txtdd.Location = New Point(395 + txtort.Width, 66 + i * 23)
  60. txth.Location = New Point(445 + txtdd.Width, 66 + i * 23)
  61.  
  62. lbl.Visible = True
  63. GroupBox1.Controls.Add(lbl)' BÜTÜN OLUŞAN ŞEYLERİ GROUPBOX IN İÇİNDE OLMASINI İSTEMİŞTİM BU YÜZDEN GROUPBOZX CONTROLÜ YAPTIK. EĞER Kİ FORMDA OLUŞMASINI İSTİYORSAK ME.CONTROLS.ADD YAZMAMIZ YETERLİ OLACAKTIR
  64. GroupBox1.Controls.Add(lbl2)
  65. GroupBox1.Controls.Add(txtas1)
  66. GroupBox1.Controls.Add(txtfinal)
  67. GroupBox1.Controls.Add(txtort)
  68. GroupBox1.Controls.Add(txtdd)
  69. GroupBox1.Controls.Add(txth)
  70. ' TÜM TEXTBOX VE LABELLERİ EKLEDİKTEN SONRA BİTİRİYORUZ
  71. Next
  72.  
  73. End Sub






  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  SQL veri tabanından siteye resim çekme ve upload etme turkuwaz 0 2.365 01-05-2012, 22:17
Son Mesaj: turkuwaz

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi