السلام عليكم
لو سمحتم
كيف احصل على مجموع عامود معين في الداتا بيز وأقوم بعمل شئ معين بناء على القيمة التي سأحصل عليها
يعني مثلا لو عاوز اجمع عامود المبيعات خلال فترة معينة واذا كانت قيمة المبيعات اكبر من 1000 يكتب لي البرنامج ان هناك ربح
باستخدام SQL و #C
وشكرا
سؤال في SQL و #C
السلام عليكم
اقترح الفكرة التالية واعتقد اتها ابسط حل
وهي ببساطة جلب بيانات العمود بالكامل ومن ثم حساب مجموع البيانات
SqlConnection sqlconnection = new SqlConnection(@"server=.\SQLEXPRESS; database= test2; integrated security= true");
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT [num] FROM [Table_1]";
cmd.Connection = sqlconnection;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
int somme=0;
for (int i = 0; i < dt.Rows.Count; i++)
{
somme += int.Parse(dt.Rows[0][0].ToString());
}
if (somme>1000)
{
MessageBox.Show("ربح");
}
else
MessageBox.Show("خسارة");هناك مجموعة من functions ضمن sql تسمى aggregate functions تساعدك في طلب أي معلومة
لنفرض أن لدينا جدول الموظيفين Employee وفيه حقل الراتب Salary ونريد جمع رواتب كامل الموظفين ضمن هذا الجدول
بالتالي سيكون شكل الـ query كالتالي:
SELECT SUM(Salary) FROM Employee
مع سي شارب يصبح العمل:
SqlConnection connection = new SqlConnection("Server=localhost; Database=Northwind; Integrated Security=True");
SqlCommand cmd = new SqlCommand("SELECT SUM(Salary) FROM Employee", connection);
connection.Open();
double total = (double)cmd.ExecuteScalar();
connection.Close();
// Check Totalتم تعديل هذه المشاركة بواسطة Eng.Tareq Jehad في 31 ديسمبر 2013 في 02:49
• • •
[ ربيّ احفظ سوريا الحبيبة]

somme += int.Parse(dt.Rows[0][0].ToString());
بعد اذنك لم افهم هذا السطر ..!
ما معنى Rows[0][0] الاصفار الموجودة داخل الاقواس هل تشير الى اندكس معين ؟ او اسم table معين ؟
مع الشكر وةالتقدير على المساعدة
Eng.Tareq Jehad
تمام بس انا عاوز ادخل الناتج من جمع العمود في قاعدة if لو المجموع اكبر من 1000 مثلا يحصل شئ معين
كيف ادخل ناتج العمود في قاعدة if من فضلك ؟؟
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
من فضلكم ارجو التوضيح اكتر اذا تكرمتم