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

احتاج إلى شرح بخصوص DbParameter Type المتعلقة بال ADO.NET

بدأه osmannassar في 4 سبتمبر 2010 · 2 رد · 687 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته احتاج إلى مساعدة من خبراء المنتدى والمبرمجين الخبرة احتاج إلى شرح توضيحي عن الجزئية الخاصة بالـــ ADO.NET وهي DbParameter Type وخاصة الخاصية Direction فأنا أحتاج إلى شرح ما معنى هذه الكلمات داخل الخاصية Direction وهي كالتالي

Input-Only

Output-Only

Return Value

أرجو الشرح بالتفصيل وإذا كان هناك أمثلة يفضل بعد الشرح وإذا كان هناك مقال يتكلم عن هذه الجزئية أرجو أن لا تبخلو علينا بها من فضلكم ولكم مني جزيل الشكر والامتنان أرجو سرعة الرد لأني أحتاج إلى فهم هذه الجزئية جيداً لأني أقوم على تحليل مشروع ولكن غاب عن ذهني هذه الجزئية.

أرجو إن كان هناك أمثلة أن تكون بلغة C# يفضل وليس إلزامياً ولكم مني جزيل الشكر والامتنان

تم تعديل هذه المشاركة بواسطة osmannassar في 4 سبتمبر 2010 في 11:35

#2

و عليكم السلام و رحمة الله و بركاته

سوف أحاول يا أخي الكريم توضيح الأمر ولكن لا تعتمد علي فأنا ما زلت مبتدأ

المسألة يا عزيزي هيا عبارة عن توجيه المتغير هل سوف يكون من قاعدة البيانات إلى المستخدم أو العكس في حالة إستخدام Stored Procedure هل هو :

Input-Only 1 والذي يعني أن المتغير سوف يستقبل القيمة من المستخدم إلى قواعد البيانات فهي قيمة مدخلة

2 Output-Only و الذي يعني أن المتغير سوف يخرج قيمة من قاعدة البيانات إلى المستخدم إذا فهي قيمة مخرجة

لنفترض أنك قمت بعمل برنامج لإدارة الموظفين , و تريد البحث عن ID الموطف لتحصل على إسم الموظف إذا من المعطيات نجد أن :

ID الموظف هو مدخل ( Input-Only ) و إسم الموظف هو مخرج ( OutPut)

كود إستعلام بإستخدام Stored Procedure

CREATE PROCEDURE GetFirstNameByID
@id int,
@fName char(10) output
AS
SELECT @fName=[First Name] FROM Employee_info WHERE ID > @id

المتغير @id هو متغير مدخلة إفتراضيا ( input) أما المتغير @fName فهو متغير مخرج (output)

الأن نأتي إلى طريقة إستدعائه ب C#

public string SelectName(int id)
{
using (SqlCommand cmd = new SqlCommand("GetFirstNameByID", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter param = new SqlParameter();
param.ParameterName = "@id";
param.SqlDbType = SqlDbType.Int;
param.Value = ID;
param.Direction = ParameterDirection.Input;
cmd.Parameters.Add(param);
param = new SqlParameter();
param.ParameterName = "@fName";
param.SqlDbType = SqlDbType.Char;
param.Size = 10;
param.Direction = ParameterDirection.Output;
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
return cmd.Parameters["@fName"].Value.ToString();
}

ونفس الفكرة في طريقة إستخدام ال ParameterDirection حتى يعلم أين هو إتجاه المتغير المتسخدم في Stored Procedure

ملاحظة هذا المثال مأخوذ من كتاب " خطوة بخطوة مع فجوال ستيدو 2008 " للأستاذ أحمد جمال خليفة

و أتمنى لك التوفيق

للصداقة البرمجية

pro-vb6@hotmail.com

#3

شكراً على الرد الجميل وارجو لك دوام الصحة العافية إن شاء الله

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