في البداية جلبة الامر ..
Imports System.Data.OleDb
في اعلى صفحة الكود
في الجينرال
Dim Con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\itemstore.mdb")
Dim Adp As New OleDbDataAdapter
Dim DT As New DataTableوضعة جدول من نوع data grid على الديزاين و ربطته مع اكسس ديتا بيز باستخدام الكود التالي في الفورم لود
Adp = New OleDbDataAdapter("select * from items ", Con)
Adp.Fill(DT)
DG.DataSource = (DT)
DG.DataBind()حيث DG هو اسم الـ data grid
وعرفة بعض الاوامر في ال general وهي كالتالي:
Dim Con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\itemstore.mdb")
Dim Adp As New OleDbDataAdapter
Dim DT As New DataTable,ومن خلال الكلك يمين على ال data grid تضهر قائمة بها property builder
ربطة الجدول بالفيلدز و اضفة عامود لاجعل اسمه التعديل
بحيث اذا ضغط عليه المستخدم ينقله المتصفح الى صفحة اخرى بها البيانات المطلوبة للتعديل عليها
الاكواد في الصفحة التعديل هي كالتالي
في اعلى صفحة الكود :
Imports System.Data.OleDb
في الجينرال
Dim Con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\itemstore.mdb")
Dim Adp As New OleDbDataAdapter
Dim DT As New DataTableفي الفورم لود
Adp = New OleDbDataAdapter("select * from items ", Con)
Adp.Fill(DT)
TextBox2.Text = DT.Rows(0).Item("item-name")
TextBox3.Text = DT.Rows(0).Item("item-prob")
TextBox4.Text = DT.Rows(0).Item("countity")كود التعديل (update) داخل زر هو :
Dim sqlmsg As String
Dim editCmd As New OleDbCommand
sqlmsg = "update [itemstore]([item-name],[item-prob],[countity] ) values (" & TextBox1.Text & " , " & TextBox2.Text & ", " & TextBox3.Text & " )"
editCmd = New OleDbCommand(sqlmsg, Con)كل شيء جرا كما هو مطلوب من عرض البيانات و الانتقال لها ولكن المشكلة هي بعد كتابة التعديل و ضغط الزر الذي يحوي امر التعديل
فان البيانات تعود كما هي دون تغير
وضعة امر لاعرف السبب وخرج لي هذا النص
ExecuteNonQuery requires an open and available Connection. The connection's current state is Closed
مرفق صورتان توضح شكل الصفحتين ..صورة صفحة الجدول وصورة صفحة التعديل
اتمنى ان اكون واضحا في شرح مشكلتي
