10-04-19, 03:37 PM
(10-04-19, 09:54 AM)elgokr كتب :(09-04-19, 03:06 PM)maxruined كتب : حرفياً .. من اكتر الناس اللى بتشرح بطريقه رهيبه .. شكراً جداً
بس فيه مشكلة اخيره
وهى اني لما عملت جدول جديد سميته S.N وحددته بمفتاح علشان ميعملش تكرار للارقام
بس المشكلة انى لو حذفت سطر فى النص مثلاً عندى ارقام من 1 الى 10 لو حذفت الرقم 4 هلاقي زي كدا
1.2.3.5.6.7.8.9.10 من غير رقم 4 .. كنت عايزه يعمل ابديت للارقام بعد ما امسح اى سطر من الداتا بيز
وتانى مره الف مليون شكر
الشكر لله والحمد للهوالحمد لله على كل حال
هذه شهادة اعتز بهابخصوص عمود الترقيم التلقائيلا تحتاج الى استخدامه كا استخدام رئيسي فى العرضاو الاستخدام العام فوجود الترقيم التلقائي فقط للتعامل مع التعديل والحذف فقط
بمعنى لنقول ان لديك جدول يخص المستخدمين فطبيعة الحال الاعمدة ستكوناسم المستخدم - كلمة المرور - ملاحظات [ كمثال ]
فالان عند انشاء الجدول سيكونPHP كود :
user-pass-note
فبكدة تكون قمت بانشاء الاعمدة الرئيسيةمضافاً عليهم عمود id للترقيم التلقائي
عند الاستعلام سيتم عمل الاستعلام العادي اذا كان من خلال * او تحديد اسماء الاعمدةولكن عند عرضها مثلاً فى الداتا جريد او ما شبه ولتجنب الترقيم كما تقولسيتم استخدام مثل كود التالىلنقول ان بالبداية ان كود الاستعلام بهذا الشكل
كود :
SELECT * FROM users
وتم تعريف قيمة الاستعلام الى DT
وطبعاً كما قلنا كمثال ان الاستعلام سيتم جلب كلاً من
كود :
id-user-pass-note
فلاحظ هنا كود ارسال القيمة DT الى DataGridView
كود :
dataGridView1.DataSource = DT;
فقط اسفل هذا السطر قم باضافة هذا الكود
كود :
int ii = 0;
foreach (DataGridViewRow row in dataGridView1.Rows)
{
ii++;
row.Cells["id"].Value = ii;
}
ستجد ان الترقيم فى داتا جريد مهما كان عملية البحث او الفلتران الترقيم يبداء من 1 وما اعلى وليس لقيمة id فى جدول قاعدة البيانات
تذكر عند اتمام عملية التعديل والحذفلا تقوم باخذ القيمة id الداتا جريد فهنا ستحتاج الى القيمة الفعلية للرقم التسلسلى من DT
لان كما انت قلت من الممكن ان يكون الترقيم فى قاعدة البينات بهذا الشكل
كود :
1 - 2 - 4 - 5 - 6
حيث ان رقم 3 غير موجود ولكن فى الداتا جريد بهذا الشكل
كود :
1 - 2 - 3 - 4 - 5
فطبعاً اذا كنت تريد التعديل على رقم 3 كما فى الداتا جريد فهو غير موجودلان الرقم الصحيح للترقيمة بقاعدة البيانات هى 4 وليس 3
فهنا سيتم عمل التالىفى حدث الكل بالداتا جريد او حسب ما تريد لاى حدث فى الداتا جريداستخدم الكود التالى
كود :
id = DT(e.RowIndex)("id");
ولا تنسي ان تضع هذا التعريف خارج نطاق اى حدث
كود :
int id;
بكده كلما تم تحديد اى سطر من الداتا جريدمن خلال اى خلايا فسيتم ارسال قيمة ID لهذا البيان الفعلى الى المعرف ID المنشئ
فبكده عند اتمام التعديل او الحذف وما شبه سيتم استخدام
كود :
WHERE id = " + id
اتمنى ان تكون الصورة وضحت كاملاًوالشرح يكون كاملاً لما قد يخطر ببالك
تحياتى لكوتمنياتى لك التوفيق
الكلام مش كافى علشان اشكرك
بجد شكراً اوى اوى اوى
انت لو مدرس هتبقي عظيم جداً
مليون تحيه وشكر ليك
