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

سؤال في SQL و #C

بدأه kinzo في 30 ديسمبر 2013 · 5 رد · 842 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

باستخدام SQL و #C

وشكرا

#2

السلام عليكم

 

اقترح الفكرة التالية واعتقد اتها ابسط حل

 

وهي ببساطة جلب بيانات العمود بالكامل ومن ثم حساب مجموع البيانات

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("خسارة");
#3

هناك مجموعة من 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

• • •


[ ربيّ احفظ سوريا الحبيبة]


oFOK7Kd.png

#4
zaka88

 somme += int.Parse(dt.Rows[0][0].ToString());

بعد اذنك لم افهم هذا السطر ..!

ما معنى Rows[0][0] الاصفار الموجودة داخل الاقواس هل تشير الى اندكس معين ؟ او اسم table معين ؟

مع الشكر وةالتقدير على المساعدة

 

Eng.Tareq Jehad

تمام بس انا عاوز ادخل الناتج من جمع العمود في قاعدة if لو المجموع اكبر من 1000 مثلا يحصل شئ معين

كيف ادخل ناتج العمود في قاعدة if من فضلك ؟؟

#5

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#6

من فضلكم ارجو التوضيح اكتر اذا تكرمتم

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