الترقيم التلقائي في برامج الداتا بيز - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : الترقيم التلقائي في برامج الداتا بيز (/showthread.php?tid=16059) |
الترقيم التلقائي في برامج الداتا بيز - silverlight - 06-06-16 السلام عليكم ورحمة الله وبركاته عملية الترقيم التلقائي في برامج الداتا بيز التي تستخدم Sql أو التي تستخدم MS-Access تحدث بشكل تلقائي لأن ملفات Sql و ملفات MS-Access تقوم بعملية الترقيم التلقائي نيابة عن المبرمج لكن هنا يأتي السؤال هل من الممكن الإستفادة من هذا الترقيم التلفائي ليعمل بمثابة مفتاح Key يمكن استخدامه في عمليات البحث داخل الداتا بيز ..... من المؤكد أنه يوجد هناك افكارا كثيرة للإجابة علي هذا السؤال والفكرة التالية تعتبر واحدة من تلك الأفكار الفكرة 1- يتم قراءة الوقت والتاريخ في لحظة إدخال البيانات باستخدام الدالة DateTime.Now 2- يتم استخدام StopWatch Class لتحديد الفترة الزمنية التي يأخذها تنفيذ الكود وهي غالبا ستكون عبارة عن اجزاء من الثانية 3- يتم إضافة الوقت المستغرق لتنفيذ الكود الي الوقت و التاريخ 4- تحويل الناتج الي String باستخدام String.Format 5- يتم تحويل هذا String الي رقم و الكود التالي يوضح الأمر قليلا PHP كود : Dim keyDateTime As DateTime = DateTime.UtcNow لو قمت بإختبار الكود أعلاه ستجد انه وفي كل مرة تقوم بتجربة الكود ستحصل علي رقم مختلف و هذا الرقم سيكون عبارة عن التاريخ و الوفت باليوم و الشهر و السنة و الدقائق و الثواني و بعض الأجزاء من الثانية لكن عليك أن لا تنسي أنك هنا تتعامل مع String و دوما ستجد ان طول هذا String عبارة عن عشرون حرفا و احيانا هذا String قد يبدأ بالقيمة صفر Zero ولكي تستطيع رؤية الترقيم الذي يعبر عن الوقت والتاريخ بشكل افضل أعد كتابة الكود بالشكل التالي PHP كود : Dim keyDateTime As DateTime = DateTime.UtcNow كما هو واضح فإنه وحتي الأن فإن الكود سهل و بسيط وقد لا تحتاج الي تحويله الي رقم بل ويمكن استخدامه كما هو في قواعد البيانات بحيث يتم تخزينه علي هيئة String لكن إن أردت تحويله الي رقم فأنت بحاجة للمزيد من العمل علي الكود قليلا لأنك لو حاولت تحويل String هذا الي Integer سيحدث بعض الأخطاء وهذه الأخطاء سببها محدودية الكلاس Integer لأن الكلاس Integer أقصي قيمة له ستكون دوما اقل من قيمة الترقيم التلقائي لذلك قد يكون من الأفضل أن تقوم بتحويله إلي ULong مثلا وعلي ما أعتقد أنه وفي بعض الحالات قد تحدث أخطاء ايضا لذلك يجب ان تفكر في تحويل String الذي يعبر عن الترقيم التلقائي إما الي بايت Byte او مصفوفة من الأرقام او الي DateTime حتي يمكنك التحكم في الترقيم التلقائي بشكل افضل عموما ولكي نستفيد بشكل أكبر من الكود اعلاه من الافضل تحويل الكود الي دالة او إلي كلاس حتي نستطيع التحكم فيه بشكل افضل و بالتالي يمكن استخدامه في عقد المقارانات والبحث بين البيانات بكل سهولة و إن شاء الله فإن للحديث بقية .... تقبلوا تحياتي وكل عام و انتم بخير RE: الترقيم التلقائي في برامج الداتا بيز - silverlight - 07-06-16 الكلاسات التالية توضح الشكل النهائي للكود الذي من الممكن الإستفادة منه بطرق كثيرة جدا و في النهاية الأمر متروك للقارئ الكلاس Era هذا الكلاس جزء من الكود الخاص بتحديد الترقيم التلقائي و الهدف منه بدء StopWatch و إيقافها PHP كود : Public Class Era أيضا الكلاس أعلاه يمكن الاستفادة منه بشكل منفرد في تحديد الفترة الزمنية التي يأخذها تنفيذ أي كود الكلاس EraKey هذا هو الكلاس الرئيسي الذي سوف يقوم بإنشاء الترقيم التلقائئي للبيانات PHP كود : Public Class EraKey ملحوظة الكلاس أعلاه لم يكتمل بعد و لاجقا سوف أقوم بالتعديل عليه ليظهر في صورته النهائية الكود التالي يوضح و بشكل مبدئي كيفية الإستفادة من الكلاس أعلاه PHP كود : Me.Text = New EraKey().Key |