14-08-15, 03:19 PM
(14-08-15, 04:31 AM)khodor1985 كتب : بالإذن من الإخوة الكرام، الموضوع سهل وبسيط جداً
لنفترض أنك قمت بإنشاء جدول في قاعدة بيانات أكسس بعنوان Person ثم أدرجت داخل الجدول الجقول التالية :
- ID نوع البيانات AutoNumber
- Fname نوع البيانات ShortText
- Lname نوع البيانات ShortText
- Address نوع البيانات ShortText
- Active نوع البيانات Number القيمة الإتراضية (Default Value) تساوي القيمة (1)
المقصود بالـ ID الرقم المعرف والـ Fname الإسم والـ Lname الشهرة والـ Address العنوان والـ Active نشط .
ثم قمنا بإنشاء مشروع في Visual Studio بعنوان PersonPro ثم أضفنا إلى المشروع نموذج بعنوان PersonGUI ثم أضفنا إلى النموذج مربع نص (TextBox) عدد 5 وسمينا مربعات النصوص بالتسميات البرمجية التالية :
txtID
txtFname
txtLname
txtAddress
ثم أضفنا خمسة أزرار أمر وسميناها :
btnNew يعني جديد
btnAdd يعني إضافة
btnModify يعني تعديل
btnDelete يعني حذف
btnDeleteAll يعني حذف جمع السجلات
ثم أضفنا 4 أزرار للتنقل بين السجلات :
btnFirst يعني السجل الأول
btnPrevious يعني السجل السابق
btnNext يعني السجل التالي
btnLast يعني السجل الأخير
جميل .... إنتهينا من التصميم
مرحلة الأكواد :
في البداية قم باستدعاء المكتبة التالية :
ثانيا : قم بالإعلان عن المتغيرات التالية في أعلى صفحة الأكواد لتكون عامة ومؤثرة على كافة الإجراءاتPHP كود :
Imports System.Data.Oledb
ثالثا : قم بإنشاء إجراء جديد وأعني هنا Sub لجلب البيانات من قاعدة البيانات وسميها Sub LoadPersonDataPHP كود :
Dim Con as New OledbConnection = ("Put the connection string here")
dim da as OleDBDataAdapter
Dim dt as new datatable
Dim cm as Currencymanager
dim cb as OledbCommandBuilder
ثم نستدعي هذا الإجراء في حدث Load للنموذجPHP كود :
Sub LoadPersonData
da = new OledbDataAdapter("Select ID,Fname,Lname,Adress from Person Where Active = 1",Con)
da.Fill(dt)
txtID.DataBinding.Add("Text",dt,"ID")
txtFname.DataBinding.Add("Text",dt,"Fname")
txtLname.DataBinding.Add("text",dt,"Lname")
txtAddress.DataBinding.Add("Text",dt,"Address")
cm.BindingContext(dt)
End Sub
جميل... هكذا نكون قد انتهينا من مرحلة جلب البيانات للجدول Person
إضافة الأكواد لأزرار التنقل :
الزر الأول btnFirst :
الزر الثاني btnPrevious :PHP كود :
cm.position = 0
الزر الثالث btnNext :PHP كود :
cm.position -= 1
الزر الرابع btnLast :PHP كود :
cm.position += 1
جميل .... هكذا نكون قد انتهينا من إضافة الأكواد لأزرار التنقلPHP كود :
cm.position = cm.count -1
إضافة كود لزر الأمر btnNew :
إضافة كود لزر الأمر btnAdd :PHP كود :
cm.AddNew
PHP كود :
Me.Validate()
cm.EndCurrentEdit
cb = new OledbCommandBuilder(da)
da.Update(dt)
قبل نضيف كود لزر الحذف أو حذف جميع السجلات لا بدو أولا من إنشاء جملة التحديث التنفيذية التي ستحول قيمة Active من 1 إلى 0 في إجراء بعنوان Sub DeleteData
إليك الكود :
PHP كود :
Dim cmd As new OledbCommand("Update Person Set Active = 0 where ID = " & txtID.Text,con)
con.open
cmd.ExecuteNoNQuery
con.close
إضافة الكود لزر الحذف :
PHP كود :
DeleteData()
cb = new oledbcommandbuilder(da)
da.update(dt)
إضافة كود لحذف جميع السجلات :
قم بإنشاء إجراء جديد بعنوان DeleteAllData
قم بإضافة الإجراء إلى زر حذف جميع السجلات :PHP كود :
Dim cmd as new oledbcommand("Update Person Set Active = 0")
con.open
cmd.ExecutNONQuery
con.close
والسلام عليكم ورحمة الله وبركاتهPHP كود :
DeleteِAllData()
cm.EndCurrentEdit()
cb = New OleDbCommandBuilder(da)
da.Update(dt)
وعليكم السلام ورحمة الله وبركاته
باركـ الله فيكـ وجزاكـ الله خير وجعله الله في ميزان حسناتكـ
ربي يحفظكـ ويرضى عنكـ ويغفر لكـ ولوالديكـ
وفقكـ الله شكرا جزيلاً
جاري التجربة وبعدها لي عودة ان شاءالله اليوم او غدا بإذن الله
وعائد بالنتائج
لكن هذه الاكواد لم استخدمها سابقاً حتى انني لم اشاهدها من قبل
انا اكثر شي استخدم التعامل مع قواعد البيانات حسب امثلة الاستاذ سعود وابو ايهاب من قبل
فهل تفرق كثيراً سأقول لكـ لماذا ذكرت هذا الكلام لانني اريد ان اعدل فقط زر الحذف او الاخفاء والبقية ابقى على الاكواد التي تعلمتها من قبل
جزاكـ الله خير
وارجوا ان لا اكود اكثرت من كلامي دون فائدة

