![]() |
|
مكتبة اسهل من مكتبة Dapeer - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم امثلة ومشاريع VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=188) +--- الموضوع : مكتبة اسهل من مكتبة Dapeer (/showthread.php?tid=25031) الصفحات:
1
2
|
RE: مكتبة اسهل من مكتبة Dapeer - viv - 24-05-18 شكرا أخي الدوسري ، هذه هفوة مني لقد انتبهت لها فيها بعد ، وقمت بالتعديل . شكرا على التصحيح . كما انني نقلت الامر PHP كود : Private builder As New OleDbCommandBuilder(TDataAdapter) الى بداية الفئة وتركت أمر قتله في الاجراء حفظ PHP كود : Tryكنت اتمنى ان يكون من لاحظ هذا اي شخص أخر ، لنعلم ان هناك من هو متابع معنا . على العموم سوف أستمر RE: مكتبة اسهل من مكتبة Dapeer - viv - 24-05-18 كنت في فيما سبق استخدم نفس الفئة لربط الجدولين ببعض واتركها تكتشف هي نفسها PHP كود : If Keyindex > "" Thenاذا كان للفئة رقم فهرس تقوم على تنفيذ الاستعلام المطلوب والا فانها تعتبر نفسها جدول رئيسي وتستمر في تنفيذ الاستعلام العادي طبعا هذا خلق بعض التعقيد فيما بعد ، وهنا اقول لماذا نسنخدم نفس الفئة يمكننا استخدام فئة جديدة لا ستخدامها في ربط الجداول الفرعية سوف احمل الليلة ان شاء الله التجربة على نفس قاعدة البيانات تم اضافة اجراء جديد وحذف ملاحظة اجراء حذف يحذف مؤقتا يجب ان يتبعه امر حفظ هذا يعطي خيار اوسع للمستخدم تم اضافة بعض الخصائص التي نحتاجها للتعامل مع الجداول الفرعية PHP كود : TTotal.Connection = con اي ملاحظة او اي سؤال انا جاهز او اي نقذ او تصحيح انا جاهز نرجوا من الجميع المشاركة على الاقل من لا يعرف كيف يبرمج مثلا ان يجرب ويقول لنا ما الاسهل ، لو كان كذا او كذا . ليس صعبا حمل المثال وانقر زر تشغيل وسيعمل كل شئ ، RE: مكتبة اسهل من مكتبة Dapeer - viv - 24-05-18 سوف اضيف لها امكانية الربط Binding وكذلك تنفيذ الاوامر بشكل مباشر بواسطة Command والقراءة بواسطة قاري البيانات بحيث يكون هناك تعدد خيارات للمستخدم في استخدام ما يريد او تنويع الوسائل بما يتلائم مع مشروعه . طبعا نحن في انتظار لمسات محترفين اذا سمح وقتهم بذلك . RE: مكتبة اسهل من مكتبة Dapeer - viv - 25-05-18 تم تعديل الاجراء Data-source لانه سيتم تعبئة البيانات من جديد بكل مرة يتم فيها ربط اي اداة به وتم استبدال اجراء التعبئة بالاسم Open على طريقة الدلفي . PHP كود : TCustomer.Connection = conوجعل الادوات تتصل بمصدر البيانات بالـ Data-binding مباشرة . PHP كود : DataGridView1.DataSource = TCustomer.DataSourceوتم اضافة اجراء يعود بمجموع اي عمود للوقت الحاجة وخاصة لمن يستخدمون برامج حسابية مثل المبيعات او المشتريات تم اضافة امكانية الربط المباشر . تم رفع الحدث Position حتى يمكن اقتناصه من قبل المستخدم PHP كود : Private Sub PrimaryTablePosition(sender As Object, e As EventArgs) Handles TTotal.IndexTablePosition
RE: مكتبة اسهل من مكتبة Dapeer - viv - 25-05-18 تم استخدام التحميل الزائد وصار بالامكان ارسال كائن الاتصال عند تعريف الفئة مباشرة PHP كود : Sub New()PHP كود : Dim con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='|DataDirectory|\Contacts.mdb'")وهو ما يغني عن ربط كائن الاتصال فيما بعد بالفئة PHP كود : TCustomer.Connection = con كما تم اضافة فئة للتعامل مع قواعد بيانات SqlServer بنفس الطريقة RE: مكتبة اسهل من مكتبة Dapeer - viv - 25-05-18 لازال يعتقد الاخرون اننا نلهو فقط ولا نريد ان نشن هجوم مباغت . عفوا اقصد نشيد مكتبة يمكن الاعتماد عليها ويعتقدون ما نفعله لا يمكن ان يكون ذا قيمة حقيقية ، احيانا السهولة ليس سببا في تقييدك و كبح حريتك المكتبة تسمح لك بالوصول الى كل كائناتها لاجراء اي عمليات معقدة تريدها ولو انني حتى الان لم احتاج الى ان اجعل الجنود يحتاجون لاي ذخيرة او امداد عفوا اقصد المستخدم الى الوصول المباشر الى كائناتها مع انها ميزة ، لهذا جعلت الكائنات الرئيسية مرئية للطوارئ بحال حدوث غارة جوية او قصف مدفعي غير متوقع . عفوا مرة اخرى ، احيانا الكلمات تتخربط ببعضها اقصد للطوارئ بحال الحاجة الى عملية بلاش الكلمة هذه بحال الحاجة الى تنفيذ امر خاص . هذه صورة لمثال عملي كامل بسطور برمجية قليلة جدا ، كونوا معنا بعد النصر الكبير اسف اقصد بعد صلاة التراويح قبل قليل كنت اتصفح بعض الاكواد وفكرت في فكرة ما . مثلا اذا عدنا الى ما قاله الاخ الدوسري كود : من المستحيل أن تجد مكتبة تخدم كل من يريد أن يتصل بمصدر بياناتمع انني كما قلت من قبل ايضا ، ان المكتبة مغلفة في بعض الاجراءات ، ولكن كل الكائنات مرئية يمكن اقتناص اي حدث او تنفيذ اي امر وباي وقت وبائ مكان . عندما لا يكون هنا تعقيد تعمل بالطريقة البسيطة العادية . اذا لم تكن كافية تدخل على الكائنات الرئيسية . ولكن الفكرة التي خطرت لي لماذا لا يكون هناك تخصص في هذه المكتبة . لبرامج المحاسبة تكون هناك مكتبة للمحاسبة فيها كل ماهو متوقع وما يحتاجه المبرمج عادة . وللادارة والموظفين واحدة تهتم بهذا الجانب وهكذا بحيث تختار ما تريد وتعمل ما تريد باسرع وقت ممكن . RE: مكتبة اسهل من مكتبة Dapeer - viv - 25-05-18 اجريت قبل قليل تجربة على المكتبة وسرعة قراءتها القراءة من 50 ألف سجل كانت من ربع الى ثلث ثانية الى 97 الف او 100 ألف كانت ثانية . طبعا هذه الثانية كانت مقلقة بالنسبة لي لاني لو استخدمت قاعدة بيانات Sqlite او Fire-bird لاختلف الوضع كثير . والـ SqlServer معطل . ولم يتبقى الا اسواء قاعدة بيانات عرفناها حتى الان وهي Access ، انها سيئة لدرجة انهم غالبا لا يحسبونها في مسابقات السرعة ولا تكون من ضمن القائمة . على العموم ربما من الافضل لنا استخدام اسواء قاعدة بيانات للتجربة . اذا 100 ألف سجل تم قراءتها فيي ثانية وكان معها عمود لحساب المجاميع والذي هو على اليسار تماما وهو يقوم على حساب العمود d1+d2+d3 تم عند اكتمال عملية التحميل قمت باجراء عملية احتساب كل عمود لوحده اي احتساب مجموع 100 ألف رقم لثلاثة اعمدة اي احتساب 300 ألف رقم وكانت السرعة حوالي 5 اجزاء من الثانية . يعني سريعة ولا تلاحظ . بصراحة تعتبر معقولة لاني كنت اتوقع ان استخدام DataAdapter والـ BindingSource قد يبطئ التنفيذ والان هذا المثال وقاعدة البيانات لعملية كاملة من اضافة وتعديل وحذف واحتساب بالنسبة للمبتدئين ليس هناك اسهل من PHP كود : TCustomer.PrimaryKey = "ID"اعتقد ليس هناك سهولة اكثر من هذه RE: مكتبة اسهل من مكتبة Dapeer - sendbad100 - 25-05-18 الله يعطيك الصحة والعافية
جميل ورائع كعادتك
RE: مكتبة اسهل من مكتبة Dapeer - viv - 26-05-18 شكرا يا سندباد وبارك الله فيك |