تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال يا احبتى فى الله
#1
السلام عليكم والرحمه عندى سؤال لو سمحتو
كيف احرر داتا جريد فيو مرتبطه برمجيا مع قاعدة بيانات لكى استطيع ااعدل على الاصناف اللى فيها
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته


أفتح مشروع جديد : 
وأضف عليه الأدوات التالية :
- BindingNavigator1
- DataGridView1

وانسخ الكود التالي لمشروعك :
- تصريح المكتبة المستخدمة :
كود :
Imports System.Data.OleDb

الكود (لا تنسى تعديل اسم قاعدة البيانات ومسارها واسم الجدول في كود الربط مع قاعدة البيانات) : 
كود :
   Dim Adapter1 As OleDbDataAdapter
   Dim ds As New DataSet()


   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Dim strConnection As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=UsersData.accdb;Persist Security Info=True"
       Dim strSQLq As String = "Select * From Salaries"

       Adapter1 = New OleDbDataAdapter(strSQLq, strConnection)
       Adapter1.Fill(ds)

       Dim bs As New BindingSource()
       bs.DataSource = ds.Tables(0)

       BindingNavigator1.BindingSource = bs
       DataGridView1.DataSource = bs
   End Sub

   Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
       Try
           Dim x As Integer = DataGridView1.CurrentCell.RowIndex
           Dim y As Integer = DataGridView1.CurrentCell.ColumnIndex
           DataGridView1.CurrentCell = DataGridView1(y, x + 1)
           DataGridView1.CurrentCell = DataGridView1(y, x)
           DataGridView1.CurrentCell = DataGridView1(y, x + 1)
           DataGridView1.CurrentCell = DataGridView1(y, x)

           Dim cb As New OleDbCommandBuilder(Adapter1)
           Adapter1.Update(ds)

           ds.Clear()            ' من أجل تحديث كامل السجل
           Adapter1.Fill(ds)
       Catch ex As Exception
           'لم نضع هنا عرض الرسائل ليتجاز الخطأ بسلاسة
           'لأنه خطأ حفظ معلومات
           'اذا ما تجاوز سطر وخلية سيتم حفظ المدخلات
       End Try
   End Sub

   Private Sub DataGridView1_RowsRemoved(sender As Object, e As DataGridViewRowsRemovedEventArgs) Handles DataGridView1.RowsRemoved
       Try
           Dim cb As New OleDbCommandBuilder(Adapter1)
           Adapter1.Update(ds)
       Catch ex As Exception

       End Try
   End Sub

ثم شغل وجرب البرنامج، ولاحظ أن الحفظ على البيانات يتم بعد الانتقال لسطر جديد ..، أو بعد مسح سطر من الداتا جريد ..
يجب أن يكون هناك حقل (مفتاح رئيسي ضمن جدول البيانات حتى يعمل البرنامج بنجاح).

بالتوفيق ..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
#3
وبافتراض انى اريد البقاء على جميع الاصناف الموجوده فى الدتا جريد فيو واضافه صنف غير موجود قى الداتا جريد فيو
الرد }}}
تم الشكر بواسطة:
#4
لو جربت لعرفت أنه يمكنك التعديل والاضافة والحذف..
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: مصمم هاوي , justforit , خالد كامل1
#5
بارك الله فيك اخي الكريم
الرد }}}
تم الشكر بواسطة:



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم