لدي مشكلة الحفظ في قاعدة البيانات
لدي جدول يحتوي على اربعة اعمدة العمود الرابع مرتبط بجدول اخر كفورغن كي
الجدول الاول
اسم الطالب ورقمة ومستواه ام الحقل الرابع فيحتوي على حالة الطالب تحتوي على رقم
الجدول الثاني
حالة الطالب يحتوي على حقلين رقم الحالة واسم الحاله
قمت بعرضها في datagridview بحيث تظهر بالشكل التالي
رقم الطالب اسمه مستواه حالته(ليست رقم الحالة بل اسم الحاله)
تم عرضها يشكل سليم في قاعدة البيانات ولكن الحفظ لايعمل مع العلم اني اعدل فقط على بيانات الطالب فقط
امل المساعدة وهذا الكود
Imports System.Data
Imports System.Data.OleDb
Public Class Form4
Dim oldValue As String = ""
Public conn As New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=C:\Users\bin\Debug\Data.mdb;user id=admin;jet oledb:database password=12345")
Dim DS1 As DataSet
Dim BindingSource1 As BindingSource
Dim BindingSource2 As BindingSource
Dim DA1 As New OleDbDataAdapter
Dim DA2 As New OleDbDataAdapter
Private colCase As New DataGridViewComboBoxColumn
Private colReportTime As DataGridViewTextBoxColumn
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Tab1 As New OleDbCommand(" SELECT * FROM stdT INNER JOIN casetype ON stdT.stdcase=casetype.id ", conn)
DA1 = New OleDbDataAdapter(Tab1)
Dim builder1 As New OleDbCommandBuilder(DA1)
Dim Tab2 As New OleDbCommand("SELECT * from CASETYPE ", conn)
DA2 = New OleDbDataAdapter(Tab2)
Dim builder2 As New OleDbCommandBuilder(DA2)
DS1 = New DataSet()
Dim ds2 As New DataSet
DA1.Fill(DS1, "stdt")
DA2.Fill(DS1, "casetype")
DataGridView1.DataSource = DS1
DataGridView1.DataMember = "stdt"
colCase.DataPropertyName = DataGridView1.Columns(2).DataPropertyName
''DELETE OLD COLUMN
DataGridView1.Columns.Remove("STDCASE")
''ADD NEW COMBOXCOLUMN
DataGridView1.Columns.Insert(2, colCase)
DataGridView1.Columns(2).Name = "stdcase"
DataGridView1.Columns(2).Width = 80
DataGridView1.Columns(2).HeaderText = "CASE TYPE"
With colCase
.DataSource = DS1.Tables(1)
.DisplayMember = "CASETYPE"
.ValueMember = "id"
.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
End With
End Sub
هذا كود الحفظ
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DA1.Update(DS1, "stdt")
DA2.Update(DS1, "casetype")
End Sub