منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[C#.NET] جمع حقلين من جدولين - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [C#.NET] جمع حقلين من جدولين (/showthread.php?tid=37313)

الصفحات: 1 2


جمع حقلين من جدولين - amonem - 28-12-20

السلام عليكم ورحمه الله وبركاته
ارجو من خبراء المنتدى مساعدتى فى هذا الطلب 
يوجد 3 جداول

جدول Table_1 الحقل اسمه Total

جدول Table_2 الحقل اسمه Numpr_Total

جدول Table_3 الحقل اسم AS_Total


المطلوب
جمع الحقل (Numpr_Total) من جدول (Table_2)  + الحقل (AS_Total) من جدول (Table_3) واضافت المجموع فى الحقل (Total) فى جدول (Table_1) بشرط (ID)

لغه سي شارب
 
ولكم مني جزيل الشكر والاحترم


RE: جمع حقلين من جدولين - mol - 28-12-20

كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
   OleDbCommand cmd;
   if(cnn.State!=ConnectionState.Open)cnn.Open();
   foreach (DataRow r in dt.Rows)
   {
       cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
       cmd.Parameters.AddWithValue("@total", r["total"]);
       cmd.Parameters.AddWithValue("@id", r["ID"]);
       cmd.ExecuteNonQuery();
   }
   cnn.Close();
}



RE: جمع حقلين من جدولين - amonem - 28-12-20

(28-12-20, 03:03 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
   OleDbCommand cmd;
   if(cnn.State!=ConnectionState.Open)cnn.Open();
   foreach (DataRow r in dt.Rows)
   {
       cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
       cmd.Parameters.AddWithValue("@total", r["total"]);
       cmd.Parameters.AddWithValue("@id", r["ID"]);
       cmd.ExecuteNonQuery();
   }
   cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك 
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر


RE: جمع حقلين من جدولين - mol - 28-12-20

(28-12-20, 01:56 PM)amonem كتب : السلام عليكم ورحمه الله وبركاته
ارجو من خبراء المنتدى مساعدتى فى هذا الطلب 
يوجد 3 جداول

جدول Table_1 الحقل اسمه Total

جدول Table_2 الحقل اسمه Numpr_Total

جدول Table_3 الحقل اسم AS_Total


المطلوب
جمع الحقل (Numpr_Total) من جدول (Table_2)  + الحقل (AS_Total) من جدول (Table_3) واضافت المجموع فى الحقل (Total) فى جدول (Table_1) بشرط (ID)

لغه سي شارب
 
ولكم مني جزيل الشكر والاحترم

(28-12-20, 10:27 PM)amonem كتب :
(28-12-20, 03:03 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
   OleDbCommand cmd;
   if(cnn.State!=ConnectionState.Open)cnn.Open();
   foreach (DataRow r in dt.Rows)
   {
       cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
       cmd.Parameters.AddWithValue("@total", r["total"]);
       cmd.Parameters.AddWithValue("@id", r["ID"]);
       cmd.ExecuteNonQuery();
   }
   cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك 
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر

راجعت سؤالك اكثر من مرة
فلم اجد فيه انك ذكرت الاكسس او سيكول سيرفر فتركت لي الخيار
فاخترت الاكسس حين كنت متفرغا للجواب على سؤالك


RE: جمع حقلين من جدولين - amonem - 29-12-20

(28-12-20, 10:47 PM)mol كتب :
(28-12-20, 01:56 PM)amonem كتب : السلام عليكم ورحمه الله وبركاته
ارجو من خبراء المنتدى مساعدتى فى هذا الطلب 
يوجد 3 جداول

جدول Table_1 الحقل اسمه Total

جدول Table_2 الحقل اسمه Numpr_Total

جدول Table_3 الحقل اسم AS_Total


المطلوب
جمع الحقل (Numpr_Total) من جدول (Table_2)  + الحقل (AS_Total) من جدول (Table_3) واضافت المجموع فى الحقل (Total) فى جدول (Table_1) بشرط (ID)

لغه سي شارب
 
ولكم مني جزيل الشكر والاحترم

(28-12-20, 10:27 PM)amonem كتب :
(28-12-20, 03:03 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT Table_2.ID, SUM(Table_2.Numpr_Total + Table_3.AS_Total) AS total FROM Table_2 INNER JOIN TABLE_3 ON Table_2.ID = Table_3.ID GROUP BY Table_2.ID", cnn);
DataTable dt = new DataTable();
if (da.Fill(dt) > 0)
{
   OleDbCommand cmd;
   if(cnn.State!=ConnectionState.Open)cnn.Open();
   foreach (DataRow r in dt.Rows)
   {
       cmd = new OleDbCommand(@"UPDATE Table_1 SET Total = @total WHERE ID=@id", cnn);
       cmd.Parameters.AddWithValue("@total", r["total"]);
       cmd.Parameters.AddWithValue("@id", r["ID"]);
       cmd.ExecuteNonQuery();
   }
   cnn.Close();
}
شكراا لحضرتك استاذي الغالى لاهتمامك 
بس عندي ملحوظه هو بتهيقلى ان الكود بيعمل على قاعده بيانات اكسس وليس سيكول سيرفر

راجعت سؤالك اكثر من مرة
فلم اجد فيه انك ذكرت الاكسس او سيكول سيرفر فتركت لي الخيار
فاخترت الاكسس حين كنت متفرغا للجواب على سؤالك
شكرا لاهتمامك  اخى الغالى
انا بالفعل لم اذكر سيكول او اكسسس وجزاك الله كل خير ولكنى عدلته واشتغل لكن نتيجه الجمع خطأ 
مثال   موظف المجموع الصحيح بتاعه حسب البيانات فى الجدولين =1080 
بعد استخدام الكود الناتج  = 2340  يعني فرق شاسع


RE: جمع حقلين من جدولين - amonem - 29-12-20

(29-12-20, 01:55 PM)mol كتب :
كود :
SELECT ID, SUM(total)
FROM   (
       SELECT ID,
              SUM(Table_2.Numpr_Total) AS total
       FROM   Table_2
       GROUP  BY ID
       UNION  ALL
       SELECT Table_3.ID,
              SUM(Table_3.AS_Total) AS total
       FROM   TABLE_3
       GROUP  BY ID)
GROUP  BY ID
شكرا لاهتمامك اخى الغالى
الكود سي شارب ولا ايه خبرتى بسيطه ؟؟


RE: جمع حقلين من جدولين - mol - 29-12-20

كود :
SELECT ID, SUM(total) AS total
FROM   ( SELECT ID,
               SUM(Table_2.Numpr_Total) AS total
        FROM   Table_2
        GROUP  BY ID
        UNION  ALL
        SELECT Table_3.ID,
               SUM(Table_3.AS_Total) AS total
        FROM   TABLE_3
        GROUP  BY ID
      )
GROUP  BY ID

هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da


RE: جمع حقلين من جدولين - amonem - 29-12-20

(29-12-20, 02:00 PM)mol كتب :
كود :
SELECT ID, SUM(total) AS total
FROM   ( SELECT ID,
               SUM(Table_2.Numpr_Total) AS total
        FROM   Table_2
        GROUP  BY ID
        UNION  ALL
        SELECT Table_3.ID,
               SUM(Table_3.AS_Total) AS total
        FROM   TABLE_3
        GROUP  BY ID
      )
GROUP  BY ID

هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da

(29-12-20, 02:16 PM)amonem كتب :
(29-12-20, 02:00 PM)mol كتب :
كود :
SELECT ID, SUM(total) AS total
FROM   ( SELECT ID,
               SUM(Table_2.Numpr_Total) AS total
        FROM   Table_2
        GROUP  BY ID
        UNION  ALL
        SELECT Table_3.ID,
               SUM(Table_3.AS_Total) AS total
        FROM   TABLE_3
        GROUP  BY ID
      )
GROUP  BY ID

هذا تعديل للاستعلام الاول في سطر OleDbDataAdapter da
بيظهر خطأ كما فى الصوره


RE: جمع حقلين من جدولين - mol - 29-12-20

كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);

كود :
SqlDataAdapter da = new SqlDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);



RE: جمع حقلين من جدولين - amonem - 29-12-20

(29-12-20, 02:25 PM)mol كتب :
كود :
OleDbDataAdapter da = new OleDbDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);

كود :
SqlDataAdapter da = new SqlDataAdapter(@"SELECT ID, SUM(total) AS total FROM (SELECT ID, SUM(Table_2.Numpr_Total) AS total FROM Table_2 GROUP BY ID UNION ALL SELECT Table_3.ID, SUM(Table_3.AS_Total) AS total FROM TABLE_3 GROUP BY ID) GROUP BY ID", cnn);

نفس رساله الخطا للاسف