الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

معرفة كود يحدد تخزين بيانات شخص معين

مغلق
بدأه Al-Mohana في 18 ديسمبر 2006 · 2 رد · 1,662 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أود معرفة كود يحدد تخزين بيانات شخص معين

مثال

سعيد أستعار من المكتبه 3 كتب ولا يسمح له بأستعاره أكثر من ذلك

عندما نخزن هذا recordبطريقه العاديه يتم تخزين أكثر من مره بلا حدود

حيث في جدول الأستعاره يوجد الحقول أسم الطالب ورقمه وبيانات الكتاب ورقم الأستعاره(primaryKey) ولا يوجد حقل

يحسب عدد الأستعاره ونريد أن نحدد عدد مرات الأستعاره من خلال رقم الطلب حيث لا يزيد عن 3

أتمنى أن أحصل على الحل

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

#2

السلام عليكم

هذا يعتمد على تصميم قاعدة البيانات قبل كل شيء, في الحقيقة الجداول لا تحقق لك التحديد.

وانما يكون ذلك عبر برمجيات نصية code لنفترض ان الطالب استعار ثلاثة كتب ,

لكنه ارجع كتاب من الكتب الثلاث, لذلك لابد أن نضيف حقل في قيمة منطقية Boolean type بحيث إذا ارجع الكتاب نكتب فيه صفر

غير ذلك نكتب فيه واحد , وبهذا لو الطالب استعار خمسون كتاب المهم ان نعرف كم الكتب التي بحوزته الان وليس كم كتاب استعار. إليس كذلك.

في قاعدة البيانات سنستخدم Stored Procedure ليحقق لنا ذلك. وبهذا الشكل تقريبًا سيكون التحقق عبره.

CREATE PROCEDURE checkBooksLimitation
@BookLength TINYINT OUTPUT,
@StudentID NVARCHAR(50)

AS
BEGIN
	SET NOCOUNT ON;
SELECT @BookLength = COUNT(*) FROM Library
WHERE StudentID = @StudentID and = 1
  END
GO

هذا الكود يرجع لنا عدد الصفوف من الجدول Library بشرط ان يكون رقم الطالب معين من قبلنا ومشترط بان يكون الحقل BooksBorrowed

يساوي 1 وهذا يعني ( اجلب لنا كل صفوف الطالب رقم كذا التي يكون فيها الكتاب مستعار الى الان ولم يرجعه

الممرر BookLength المعرف في الاعلى سيرجع هذا الرقم إلينا لنتحقق إذا كان 3 ثلاثة او اكبر عطلنا عملية الادخال

غير ذلك قمنا بتمكين عملية الادخال .

ملاحظة: يفترض في المرة القادمة عندما تطرح سؤال أن تحدد اللغة و قاعدة البيانات و النسخة , حتى نكتب لك ما يتوافق مع متطلباتك.

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#3

السلام عليكم

أسف لم أنتبه ألى ذلك

أنا أستخدم فيجول بيسك دوت نت 2003 مع Ms.Access

هل أضفت حقل جديد؟

وماذا تقصد ب Stored Procedure

تعلم فليس المرء يولد عالماً------ وليس أخو علماً كمن هو جاهلا

العلم نور وجمال يقتبس--------------- صاحبه مكرم اين ما جلس

من فاته العلم ساعة تظعظع ونتكس----شتان شتان بين حمار وفرس

هذا الموضوع مغلق.

مواضيع مشابهة