المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس 22: دوال sql server دورة C#


khaledbelal
02-13-2010, 04:07 AM
السلام عليكم ورحمة الله وبركاته...


دوال ال sql server ...

أولا قم بتجهيز ال data**** التي نستخدمها في الدورة دائما وهي إمسها mydata**** تحوي عامودان FirstName,Age وضع بها بعض البيانات...

1- AVG :

وتستخدم هذه الدالة لإيجاد المتوسط الحسابي لعمود ما ( رقم طبعا )...
يمكن إستخدامها كالتالي:

vb.net:

Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select AVG(Age) From mytable"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:


System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "select AVG(Age) From mytable";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

أو مثلا حساب المتوسط العمري لكل شخص يفوق عمره ال 15:

vb.net:

Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select AVG(Age) From mytable where Age > 15"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:

System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "select AVG(Age) From mytable where Age > 15";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

2- الدالة Count ...

تعود هذه الدالة بكم عدد الأعمار الموجودة داخل الجدول بشرط أو بدون شرط...

يتم إستخدامها كالتالي...

vb.net:


Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select Count(Age) From mytable"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:

System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "Select Count(Age) From mytable";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

3- الدالة sum ...

تعيد هذه الدالة مجموع العمود المسندة إليه مثلا مجموع الAge ( أيضا يمكن إستخدامها بشرط مثل where Age > 15 ) ...

vb.net :

Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select sum(Age) From mytable"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:


System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "Select sum(Age) From mytable";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

الدالة Max ...
تعود هذه الدالة بأكبر قيمة موجودة بالعامود المسندة له ...
مثلا هنا سوف تعود بعمر اكبر شخص موجود...

vb.net:

Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select max(Age) From mytable"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:

System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "Select max(Age) From mytable";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

الدالة Min ...

وهي عكس الدالة Max حيث تعيد أصغر قيمة في العامود المسندة له ...
هنا سوف تعيد أصغر عمر في العامود Age...

vb.net:

Dim c As New SqlClient.SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True")
Dim s As String = "Select min(Age) From mytable"
Dim cmd As New SqlClient.SqlCommand(s, c)
c.Open()
MsgBox(cmd.ExecuteScalar().ToString)
c.Close()

c#:

System.Data.SqlClient.SqlConnection c = new System.Data.SqlClient.SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\TD\* *******s\mydata****.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
string s = "Select min(Age) From mytable";
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(s, c);
c.Open();
MessageBox.Show(cmd.ExecuteScalar().ToString());
c.Close();

هكذا نكون قد تعرفنا على بعض دوال ال sql server وكيفية التعامل معهم...

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


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

ماريا إسلام
05-21-2011, 12:23 AM
جزاكم الله خيرااا كثيرااا
//