![]() |
|
مثال صغير على التعامل مع دوال لغة الإستعلام sql - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم اسئلة vb6.0 المتعلقة بقواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=72) +--- الموضوع : مثال صغير على التعامل مع دوال لغة الإستعلام sql (/showthread.php?tid=5540) |
مثال صغير على التعامل مع دوال لغة الإستعلام sql - أبو أسامة - 12-10-12 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله هذا شرح متواضع على كيفية الإتصال بقاعدة البيانات وجلب بيانات عن طريق دوال لغة الإستعلامات sql عن طريق ADO وهى اختصار Activex Data Objects من القوائم تختار قائمة project ثم تختار References والملف المطلوب للعمل هو Microsoft Activex Data Objects 2.8 library تصفح القائمة ستجد فيها هذه المكتبات dll Microsoft Activex Data Objects 2.0 library Microsoft Activex Data Objects 2.1 library Microsoft Activex Data Objects 2.5 library Microsoft Activex Data Objects 2.6 library Microsoft Activex Data Objects 2.7 library Microsoft Activex Data Objects 2.8 library ولماذا أختارهذه المكتبة أو الملف البرمجى؟؟ هذا الملف dll يحتوى على جميع الأوامر البرمجية التى صممت مسبقا من Microsoft والخاصة بالتعامل مع قواعد البيانات من انشاء واضافة وتعديل وحذف بيانات وجداول واستدعاء وغيره. وهذه الأوامر موجودة بهذا الملف لكن لن تستطيع استدعاء تلك الأوامر فى مشروعك قبل ربط تلك المكتبة بالمشروع . كيف أربط مشروعى بهذه المكتبة؟؟ كالتالى من القوائم تختار قائمة project ثم تختار References ثم تختار المكتبة Microsoft Activex Data Objects 2.8 library وهى آخر اصدار كما يمكنك اختيار اصدار آخر الآن أصبحت تستطيع التعامل مع أكواد هذه المكتبة كيف أكتب الأكواد؟ أولا يجب أن تقوم بتعريف هذه المكتبة فى مشروعك كالأتى فى أعلى شاشة الكود تجد قسم يسمى General وهو قسم التصريحات العامة الخاصة بالنموذج الحالى وهنا تكتب تعريف كائن قاعدة البيانات: Dim DB As New ADODB.Connection ليس شرطا أن تسمى المتغير DB يمكنك تسميته أى اسم آخر وكلمة Dim هى من الكلمات المحجوزة فى الفيجوال بيسك والتى تكتب عند تعريف متغير ما. تعريف كائن التعامل مع السجلات: Dim rs As New ADODB.Recordset ليس شرطا أن تسمى المتغير rs يمكنك تسميته أى اسم آخر ستجد الفيجوال تلقائيا يظهر لك قائمة الإقتراحات عند الكتابة فإذا كتبت dim ثم مسافة ستجد القائمة قد ظهرت يمكنك اختيار البارا ميتر الذى تحتاجه الشكل النهائى للكود فى قسم التصريحات General رموز PHP: Dim DB As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql As String Dim sql As string متغير لتخزين جملة الإستعلام فيه شفرة الإتصال بقاعدة البيانات وقد وضعناها فى اجراء لكى يتم استدعاءها عند الحاجة بدلا من كتابتها فى كل مرة نريد فتح الإتصال مع قاعدة البيانات و كلمة provd اسم الإجراء وهو اختيارى يمكنك تسميته بأى اسم شرط ألا يكون من الكلمات المحجوزة. اجراء بداخله شفرة الإتصال بقاعدة البيانات رموز PHP: Private Sub provd() If DB.State = adStateOpen Then DB.Close DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB atabase Password=123; Data Source=" & App.Path & "\data.mdb" If rs.State = adStateOpen Then rs.Close End Sub شرح الكود:If DB.State = adStateOpen Then DB.Close لو كانت قاعدة البيانات مفتوحة قم بغلقها DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:atabase Password=123; Data Source=" & App.Path & "\data.mdb شفرة الإتصال بقاعدة البيانات وفتحها والتى هى فى نفس مسار البرنامج واسمها DATA ومحمية بكلمة مرور وهى123 Microsoft.Jet.OLEDB.4.0;Jet OLEDB هذا الجزء من الشفرة خاص بإصدار أكسيس ما بعد اصدار 97 وهو يعمل على 2007 If rs.State = adStateOpen Then rs.Close • لو كان كائن السجلات مفتوحا قم باغلاقه (وذلك لتلافى حدوث أخطاء) END SUB وهو نهاية هذا الإجراء كود جلب المجموع الكلى للحقل رموز PHP: Private Sub Command3_Click() Call provd sql = "select sum(num)from tablemax" rs.Open sql, DB, adOpenKeyset, adLockPessimistic Text1 = rs.Fields(0) MsgBox "المجموع الكلى للحقل هو " & rs.Fields(0), vbInformation End Sub Call من الكلمات المحجوزة وتستخدم لإستدعاء أى اجراء لكى يتم تنفيذه Call provd لإستدعاء اجراء الإتصال كما سبق شرحه sql = "select sum(num)from tablemax المتغير sql يمكنك كتابة أى شىء آخر شرح جملة الإستعلام select حدد (أساس الجملة) sum مجموع (دالة) (num)اسم الحقل (متغير) From من الجدول (ثابت) tablemax اسم الجدول (متغير) اعطاء هذه القيمة الى كائن السجلات لفتحها كالتالى rs.Open sql, DB, adOpenKeyset, adLockPessimistic الشرح rs.Open يا كائن السجلات قم بفتح sql (sql هو المتغير الذى يحمل جملة الإستعلام) DB متغير شفرة الإتصال بقاعدة البيانات , adOpenKeyset, adLockPessimistic مؤشرات التعامل مع السجلات وهى 4 أنواع اظهار الناتج فى صندوق النص ( Text1 = rs.Fields(0 القيمة الناتجة ستكون سجل واحد فقط وهو مجموع الحقل لأننا لم نستدعى كافة حقول الجدول يتم استخدام باقى الدوال بعد تغيير اسم الدالة فى الكود "select sum(num)from tablemax" "select min(num)from tablemax" "select max(num)from tablemax" "select count(num)from tablemax" "select first(num)from tablemax" "select last(num)from tablemax المثال فى المرفقات مثال صغير على التعامل مع دوال لغة الإستعلام sql - mmali127 - 13-10-12 شكرا على المجهود استاذ /ابو اسامة جعله الله فى ميزان حسناتك تقبل تحياتى . مثال صغير على التعامل مع دوال لغة الإستعلام sql - أبو أسامة - 13-10-12 لا شكر على واجب أخى الكريم أمين مثال صغير على التعامل مع دوال لغة الإستعلام sql - a_senan - 13-10-12 [COLOR="#000080"]شكرا لك اخي ابواسامه لكن لوماخاب ضني انت ابواسامه المسلم او انا غلطان[/COLOR] مثال صغير على التعامل مع دوال لغة الإستعلام sql - أبو أسامة - 13-10-12 a_senan كتب :[COLOR="#000080"]شكرا لك اخي ابواسامه السلام عليكم أخى الكريم a_senan نعم أخى الكريم أنا هو لكن حذفت كلمة المسلم لأن معظمنا هنا مسلمين فلا داعى لهذه الزيادة أرجو من الله التوفيق لإدارة المنتدى والإخوة المشرفين والأعضاء وأن يجعلنا أخوة متحابين . ولن أبخل على أحد من اخوانى بما تعلمته من هذا الصرح العظيم .كما لم يبخل أحد من اخوانى من قبل على لما كنت أحتاج للمساعدة يعلم الله أننى أحبكم فى الله RE: مثال صغير على التعامل مع دوال لغة الإستعلام sql - hobbia - 21-04-15 السلام عليكم ورحمه الله وبركاته يعطيك العافية اخوي أبو أسامة ولكن هنا سؤال كود : & " ' " SQLs = "Select * From User Where UserName = ' " & Text1 & " ' And Password = '" & Text2 وعند تشغيل البرنامج الفيجوال يعطيني خطأ نوع Run-timw error '-2147217900(80040e14)':خطأ في بناء الجملة في جزء من عبارة FROM. وكيف حال وشكراً اخي الكريم RE: مثال صغير على التعامل مع دوال لغة الإستعلام sql - abulayth - 31-10-15 السلام عليكم تم اعادة رفع المرفق الموجود في اول مشاركة يعطيكم العافية |