AccessTr.neT

Tam Versiyon: Her Checkbox için veritabanına ayrı kayıt işleme
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhabalar..

projemde 1 adet button 3 adet checkbox 2 adet textbox 1 adet groupbox ve 1 tanede datagridview nesneleri mevcut.
database yapısı:
access
db adı: db
tablo adı: cb
sütunlar: seccb,isim,islem

amacım textbox a yazılan veriyi checkboxlara kayıt yapmak. fakat her checkbox için ayrı satır kaydetmesini istiyorum.

aşagıda datagrid görüntüsünü olusturmaya calıstım.

seccb - işlem - isim
------------------------------------------
chkbox - texbox1 - texbox2

for each ile yaptıgımda her döngüde checkbox sayısı kadar kayıt ekliyor ve enson işaretlediğim kaydı ekliyor.
bilen arkadaslardan yardım edebilecek olan var mı acaba?
simdiden tesekkürler.....

kodlar şöyle:

Imports System.Data.OleDb

Public Class Form1

Private Sub Listele(ByVal Sql As String)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='db.mdb'")
Dim veriler As New DataTable("cb")
Dim adapter As New OleDbDataAdapter(SQL, baglanti)
adapter.Fill(veriler)
DataGridView1.DataSource = veriler

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
Listele("SELECT * FROM cb ")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each rad As CheckBox In groupbox1.Controls
Dim dn As String
If CheckBox1.Checked = True Then
dn = 11

End If
If CheckBox2.Checked = True Then
dn = 21

End If
If CheckBox3.Checked = True Then
dn = 36

End If


Dim Sql As New String("INSERT INTO cb (seccb,isim,islem) values ('{0}','{1}','{2}')")
sql = String.Format(sql, dn, TextBox1.Text, TextBox2.Text)
Dim baglanti As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source='db.mdb'")
Dim komutnesnesi As New OleDb.OleDbCommand(sql, baglanti)
Dim sonuc As Integer




Try
baglanti.Open()

sonuc = komutnesnesi.ExecuteNonQuery()
If sonuc = 1 Then
MsgBox("Yandaki Girdiğiniz Veriler Veri Tabanına Kayıt Olmuştur.", MsgBoxStyle.Exclamation, "Kayıt Uyarı")
End If

Listele("SELECT * FROM cb ")
baglanti.Close()
Catch ex As OleDbException
MsgBox(ex.ToString)
End Try
Next

End Sub




End Class