العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > روضة دورات لغة الـ CSharp > دورة CSharp 2008 من منتدى فيجوال بيسك للعرب

دورة CSharp 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : الأخ طارق الدويري . حالة الدورة : متوقفة مؤقتاً . عدد الدروس حتى الآن : 23 درس

إضافة رد

  #1  
قديم 02-13-2010, 04:04 AM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس 21: Stored Procedures دورة C#

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

مفهوم ال Stored Procedures :

إن ال Stored Procedures هي عبارة عن جملة إستعلام مخزنة في قاعدة البيانات وإستدعائها يشبه إستدعاء أي Method كما سوف ترى...

لنرى مثال لضرورة إستخدام ال Stored Procedures ...

أولا إنشئ مشروع جديد وقاعدة بيانات وسمها كما سميناها سابقا mydata**** (تجد هذه التفاصيل في أول الدرس 18)


والان لو كنا مثلا نريد المستخدم أن يضع إسم الموظف المراد جلب بياناته في textBox فقرر في نفس اللحظة أن يصبح مبرمج فكتب مثلا ...
سوف يكون الكود لتنفيذ ذلك:

كود PHP:
"Select FirstName,Age From mytable Where FirstName = '{0},textBox1.Text" 
الان ليس المهم الكود وإنما المستخدم فتصور لو الأخ كتب مثلا...

Drop mytable !!!
أو أي جملة إستعلام أخرى !!!

ما السبيل لتفادي ذلك ؟

هنا جاء دور ال Stored Procedures لكي لا يتمكن المستخدم من تنفيذ جمل إستعلام من خلال كتاباته...

الان أضف لقاعدة البيانات Stored Procedures كالتالي:
( لقد قمت بإنشاء قاعدة بيانات بإسم TD_Data و جدول بها بإسم tb1 يحوي على ثلاث أعمدة هي:

كود PHP:
FName (nchar(10))
LName(nchar(10)
Age(bigint
من مجلد ال Stored Procedures إختر Add New Stored Procedures

والان أكتب بها...

كود PHP:
Create PROCEDURE dbo.GetAgesAvg
@agesavg int 0 output
AS
select @agesavg avg(AgeFrom tb1
RETURN @agesavg 
ثم ضع Button و textBox وفي الحدث click لل button أكتب...

c#:

كود PHP:
SqlConnection sqlcn = new SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\********s\TD_Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string sqlcmdstr "GetAgesAvg";
SqlCommand sqlcmd = new SqlCommand(sqlcmdstrsqlcn);
SqlParameter par = new SqlParameter();
sqlcmd.CommandType CommandType.StoredProcedure;
par.ParameterName "@agesavg";
par.Direction ParameterDirection.Output;
par.SqlDbType SqlDbType.Int;
sqlcmd.Parameters.Add(par);
try
{
sqlcn.Open();
}
catch (
Exception ex)
{
MessageBox.Show(ex.Message);
}
sqlcmd.ExecuteNonQuery();
textBox1.Text sqlcmd.Parameters("@agesavg").Value.ToString();
sqlcn.Close(); 
vb.net :

كود PHP:
Dim sqlcn As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\********s\TD_Data.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim sqlcmdstr As String "GetAgesAvg"
Dim sqlcmd As New SqlCommand(sqlcmdstrsqlcn)
Dim par As New SqlParameter
sqlcmd
.CommandType CommandType.StoredProcedure
par
.ParameterName "@agesavg"
par.Direction ParameterDirection.Output
par
.SqlDbType SqlDbType.Int
sqlcmd
.Parameters.Add(par)
Try
sqlcn.Open()
Catch 
ex As Exception
MsgBox
(ex.Message)
End
End 
Try
sqlcmd.ExecuteNonQuery()
TextBox1.Text sqlcmd.Parameters("@agesavg").Value.ToString
sqlcn
.Close() 
وهكذا في جمل الإستعلام هذه سوف يعود ال parameter بمعدل الأعمار التي في الجدول
( مجموع الأعمار تقسيم عددها )


وعلى هذا النحو تستخدم ال Stored Procedures ....

إلى اللقاء في الدرس القادم إن شاء الله...

منقول من منتدى فيجوال بيسك للعرب


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
إضافة رد

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس 14: شرح تقنية ال wpf مع بعض الأمثلة دورة C# khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 3 11-02-2010 10:16 PM
الدرس 8: أمثلة عملية على ما مضى دورة الـ c# khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 1 10-29-2010 08:01 PM
الدرس 3: المتغيرات والثوابت (دورة الـ c#) khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 1 10-29-2010 06:44 AM
الدرس 13: Multi-Threading دورة C# khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 3 10-15-2010 07:02 AM
الدرس 15: البداية مع gdi+ دورة C# khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 2 02-14-2010 02:31 AM

استضافة الحياة

الساعة الآن 01:45 AM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz