منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تعلم إجراء العمليات الأساسية على قواعد البيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : تعلم إجراء العمليات الأساسية على قواعد البيانات (/showthread.php?tid=40327)



تعلم إجراء العمليات الأساسية على قواعد البيانات - أبو خالد الشكري - 25-12-21

الأخوة المبرمجون الأعزاء 

السلام عليكم ورحمة الله وبركاته

أرفقت لكم مشروعًا بسيطا ، أساسا أنا نزلته من هذا المنتدى الرائع .
والهدف منه هو تعلم برمجة قواعد البيانات .

وأنا حقيقة حاولت جاهدًا بكل الطرق أن أعدل في البرنامج ليتلاءم مع مطالبي ، ولكني لم أتمكن من تعديل بعض الأشياء .

والمشاكل التي لم أتمكن من حلها هي :

1- حذف سجل بواسطة جملة استعلام Select
2- تعديل سجل بواسطة جملة استعلام Select
3- البحث عن سجل بواسطة جملة استعلام Select
4- عرض البيانات على أداة MSFlexGrid1

(الأزرار الحمراء  في البرنامج هي التي لا تعمل ! )

فقط هذا كل شيء ، أرجو من حضراتكم التكرم بالمساعدة في عمل الأكواد التي يمكنها عمل ذلك 
وأكون لكم شاكرا على ما ساعدتموني به .


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - سعود - 25-12-21

و عليكم السلام ورحمة الله و بركاته
بصراحة التعامل مع قواعد البيانات في الاصدار السادس صعب للغاية ولم انجح باي تخمين اخمنه بعكس الدوت نت اغلب الحلول احلها بالتخمين[أحيانا].

بالنسبة للخطأ جرب تغير اسم عمود no الى اي اسم مثلا tno


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - ahmedabdelaliem - 26-12-21

السلام عليكم 

اخي انتبه كلمت no يحتجزها فيجوال بيسك ابتعد عنها 

كما تفضل اخي سعود تم تغيير اسم الحقل وعمل تعديلات مهمه والان يعمل

بالتوفيق


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - أبو خالد الشكري - 26-12-21

(25-12-21, 09:25 PM)سعود كتب : و عليكم السلام ورحمة الله و بركاته
بصراحة التعامل مع قواعد البيانات في الاصدار السادس صعب للغاية ولم انجح باي تخمين اخمنه بعكس الدوت نت اغلب الحلول احلها بالتخمين[أحيانا].

بالنسبة للخطأ جرب تغير اسم عمود no الى اي اسم مثلا tno


شكرا جزيلا أستاذ سعود على ردك الجميل

وأشكرك على تنبيهك حول الكلمة المحجوزة no

(26-12-21, 02:49 AM)ahmedabdelaliem كتب : السلام عليكم 

اخي انتبه كلمت no يحتجزها فيجوال بيسك ابتعد عنها 

كما تفضل اخي سعود تم تغيير اسم الحقل وعمل تعديلات مهمه والان يعمل

بالتوفيق


جزاك الله خيرا أستاذ ahmedabdelaliem


البرنامج الآن شغال 100% كما أنا كنت أريد بالضبط .
ولكن تبقت هناك بعض الأمور ما زلت لم أتمكن من حلها 
وسأعود إليكم في حالة تعثري في التوصل إلى الحل .

وسيكون هذا البرنامج الصغير مرجعا لجميع الأعضاء لمن أراد برمجة قواعد البيانات بلغة VB6

في الوقت القادم أستاذ ahmedabdelaliem سوف أقول لك الإشكاليات التي لم أتمكن من حلها .

بارك الله فيكم جميعا ما قصرتم ، ودمتم لنا عونا وذخرا مدى الزمان .


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - أبو خالد الشكري - 27-12-21

السلام عليكم ورحمة الله وبركاته
مرحبًا بالمبرمجين الرائعين ..

الآن البرنامج الصغير التعليمي أصبح شبه متكامل !
عسى أن يستفيد منه أعضاء المنتدى الكرام في معرفة كيفية التعامل مع قواعد بيانات VB6

ولكن فقط ما زالت توجد مشكلة أخيرة وتنتهي الأمور تماما .

والمشكلة هي أنني لم أعرف كيفية عرض البيانات على DataGrid

فأرجو مساعدتي في الخروج نهائيا من هذه الإشكالية البسيطة .

أنا أرفقت لكم البرنامج بعد تعديله ؛  ليكون بشكل واضح لكل الأعضاء بدون تعقيد أبدًا .

أنتظر رد المبرمجين الأعزاء في إضافة أكواد عرض البيانات على DataGrid

ولكم مني خالص المحبة والسلام .

محبكم / أبو خالد .


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - سعود - 27-12-21

شوف التعديل في الموديول

PHP كود :
Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Sub Con_Data()
rs.CursorLocation adUseClient
On Error Resume Next
db
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=; Data Source=" App.Path "\stu.mdb"
End Sub 
جزئيتان مهمتان هما:
استخدام كلمة set لضبط مصدر بيانات الـ DataGrid1
الاخرى ضبط المؤشر قبل فتح او تعبئة مصدر البيانات rs.CursorLocation = adUseClient
PHP كود :
   Set DataGrid1.DataSource rs 



RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - Taha Okla - 27-12-21

السلام عليكم ورحمة الله وبركاته

مع تعديل بسيط بعد الاضافة المميزة التي قدمها الأخ - سعود
أظن بأن المشروع يصبح أفضل قليلاً، التعديلات هي:
1 - تعديل حقل رقم الهاتف ضمن قاعدة البيانات لحقل نصي (لأن الحقل الرقمي لن يخزن الاصفار والزائد على يسار رقم الهاتف).
2 - اضافة خاصية البحث بحسب الاسم، رقم الهاتف ... إلخ.
3 - تفعيل تحريك المؤشر على الـ DataGrid1 لـ يغير البيانات ضمن مربعات البيانات.
4 - حذف كلمة (DoEvents) لأن إن لم تكن ضمن حلقة تكرارية فلا فائدة منها..
5 - تعديلات على أمر الحذف.
6 - تعديلات على أمر التحديث.
7 - تعديلات على أمر الحفظ.


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - أبو خالد الشكري - 27-12-21

(27-12-21, 04:37 AM)سعود كتب :
شوف التعديل في الموديول

PHP كود :
Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public Sub Con_Data()
rs.CursorLocation adUseClient
On Error Resume Next
db
.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=; Data Source=" App.Path "\stu.mdb"
End Sub 
جزئيتان مهمتان هما:
استخدام كلمة set لضبط مصدر بيانات الـ DataGrid1
الاخرى ضبط المؤشر قبل فتح او تعبئة مصدر البيانات rs.CursorLocation = adUseClient
PHP كود :
   Set DataGrid1.DataSource rs 


أشكرك جزيلا أستاذ سعود على الإضافة الرائعة التي جعلت أداة DataGrid تعمل
بصراحة ما قصرت ، هكذا أصبح البرنامج مكتملا لمن أراد معرفة كيفية التعامل مع قواعد بيانات VB6
أرجو لك التوفيق ، وأن تزداد معرفة أكثر وأكثر في عالم البرمجة ؛ كي نستفيد من علمك .
تحياتي الخالصة لك .

(27-12-21, 07:08 AM)Taha Okla كتب : السلام عليكم ورحمة الله وبركاته

مع تعديل بسيط بعد الاضافة المميزة التي قدمها الأخ - سعود
أظن بأن المشروع يصبح أفضل قليلاً، التعديلات هي:
1 - تعديل حقل رقم الهاتف ضمن قاعدة البيانات لحقل نصي (لأن الحقل الرقمي لن يخزن الاصفار والزائد على يسار رقم الهاتف).
2 - اضافة خاصية البحث بحسب الاسم، رقم الهاتف ... إلخ.
3 - تفعيل تحريك المؤشر على الـ DataGrid1 لـ يغير البيانات ضمن مربعات البيانات.
4 - حذف كلمة (DoEvents) لأن إن لم تكن ضمن حلقة تكرارية فلا فائدة منها..
5 - تعديلات على أمر الحذف.
6 - تعديلات على أمر التحديث.
7 - تعديلات على أمر الحفظ.


وعليكم السلام ورحمة الله وبركاته

مرحبا بك أستاذ Taha Okla

حقيقة اللسان عاجز عن شكرك ؛ فأنت قدمت الكثير ؛ ليخرج البرنامج التعليمي إلى الشكل النهائي الرائع .
وإن إضافاتك الرائعة ، وكذلك التعديلات الجميلة التي أجريتها حضرتك في الجمل البرمجية جعلت البرنامج يعمل بكفاءة أكثر وأفضل مما كانت عليه .
أشكرك جدًا جدًا بحجم السماء على كل ما ساهمت به في البرنامج .

وأنا أيضا فقط أضفت ListBox وكذلك ComboBox لأنه قد يحتاجها بعض الأعضاء في مشاريعهم ولا يعرفون كيفية برمجتها !

الآن البرنامج انتهى واكتمل جميع أركانه ، والحمد لله في البداية والختام .

وستجمعنا مشاركات أخرى قادمة إن شاء الله ..

وعلى خير نلتقي إن شاء الله ،،، ومع السلامــــة

* أرفقت البرنامج بشكله النهائي بعد إضافتي للأداتين المذكورتين أعلاه !


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - Taha Okla - 27-12-21

السلام عليكم ورحمة الله وبركاته

لماذا قمت بحذف أمر البحث الثاني  ؟؟
الامرين مختلفين عن بعضهما البعض فليسا كود واحد ...
في هذا الكود جعلت البحث عن مشابه وليس مساوي
بالتالي هو يعطي أكثر من نتيجة
مثلاً اسم (صالح، فاضل)
لا تكتب ( صالح) فقط حرف(ا) أو حرفين منه
فسيقوم البرنامج بعرض كل اسم يحتوي على هذه الاحرف التي بحثت عنها
وسينتقل المؤشر مع كل ضغطة زر للبحث عن نتيجة أخرى..
إذا كانت النتائج معروضة ضمن الجدول سترى تحرك المؤشر عليها بشكل أوضح ..

فأحد امري البحث من أعلى للاسفل - والثاني من الاسفل للأعلى.
هذه أمر خاص بـ ADO   وليست أوامر SQL
--
ويوجد بحث آخر يتعلق بأوامر الـ SQL هو أفضل 
ولكنه لا يناسب برنامجك هذا ..


RE: تعلم إجراء العمليات الأساسية على قواعد البيانات - أبو خالد الشكري - 27-12-21

(27-12-21, 02:57 PM)Taha Okla كتب : السلام عليكم ورحمة الله وبركاته

لماذا قمت بحذف أمر البحث الثاني  ؟؟
الامرين مختلفين عن بعضهما البعض فليسا كود واحد ...
في هذا الكود جعلت البحث عن مشابه وليس مساوي
بالتالي هو يعطي أكثر من نتيجة
مثلاً اسم (صالح، فاضل)
لا تكتب ( صالح) فقط حرف(ا) أو حرفين منه
فسيقوم البرنامج بعرض كل اسم يحتوي على هذه الاحرف التي بحثت عنها
وسينتقل المؤشر مع كل ضغطة زر للبحث عن نتيجة أخرى..
إذا كانت النتائج معروضة ضمن الجدول سترى تحرك المؤشر عليها بشكل أوضح ..

فأحد امري البحث من أعلى للاسفل - والثاني من الاسفل للأعلى.
هذه أمر خاص بـ ADO   وليست أوامر SQL
--
ويوجد بحث آخر يتعلق بأوامر الـ SQL هو أفضل 
ولكنه لا يناسب برنامجك هذا ..


أعتذر منك
أستاذي

كنت فاكرهم نفس الشيء
لكن خلاص رجعنهم مثل ما حضرتك عملتهم

* التعديل مرفق !

بارك الله فيك ، وشكرا