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

ماهو الخطأ في الكود التالي .. استفسار عن عدد طلبات اليوم والاسبوع ؟

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

الاخوه الكرام ،، بعد التحية

لدي كود يظهر عدد طلبات اليوم والاسبوع والشهر والسنه والعدد الإجمالي

عدد طلبات الشهر والسنه والإجمالي يعمل بشكل سليم وصحيح ...

بخصوص عدد طلبات اليوم والاسبوع ،، عدد طلبات الييوم يظهر دائماً 0 مع العلم ان يوجد إلى الان 25 طلب .... وعدد طلبات الاسبوع اظهر لي 475 طبعاً والصحيح إلى الان 649 طبعاً ....

ماهو الخطأ في الكود ؟

علماً بأن صيغة التاريخ في قاعدة البيانات بهذا الشكل

2012-07-08 10:51:12.397

وايضاً

2012-07-08

        string DtToDay = DateTime.Now.ToString("yyyy-MM-dd");

        DateTime sat, fri;
        sat = fri = DateTime.Now;
        while (sat.DayOfWeek.ToString() != "Saturday") sat = sat.AddDays(-1);
        while (fri.DayOfWeek.ToString() != "Friday") fri = fri.AddDays(+1);




ConLetion.Open();
        string mycmd31 = "SELECT COUNT(ISNULL(Let.LeID,0)) FROM Le WHERE Let.CreationDate Like @DtToDay";
        string mycmd32 = "SELECT COUNT(ISNULL(Let.LeID,0)) FROM Let WHERE Let.CreationDate BETWEEN @sat AND @fri";
        SqlCommand mysqlcmd31 = new SqlCommand(mycmd31, ConLetion);
        mysqlcmd31.Parameters.AddWithValue("@DtToDay", DtToDay);
        Label31.Text = mysqlcmd31.ExecuteScalar().ToString();
        SqlCommand mysqlcmd32 = new SqlCommand(mycmd32, ConLetion);
        mysqlcmd32.Parameters.AddWithValue("@sat", sat);
        mysqlcmd32.Parameters.AddWithValue("@fri", fri);
        Label32.Text = mysqlcmd32.ExecuteScalar().ToString();

 ConLetion.Close();
#2

جرب هذا الكود

ConLetion.Open();

string mycmd31 = "SELECT ISNULL(COUNT(LeID),0) FROM Let WHERE convert(date,CreationDate) = @DtToDay";
SqlCommand mysqlcmd31 = new SqlCommand(mycmd31, ConLetion);
mysqlcmd31.Parameters.AddWithValue("@DtToDay", DtToDay);
Label31.Text = mysqlcmd31.ExecuteScalar().ToString();

string mycmd32 = "SELECT ISNULL(COUNT(LeID),0) FROM Let WHERE convert(date,CreationDate) BETWEEN @sat AND @fri";
SqlCommand mysqlcmd32 = new SqlCommand(mycmd32, ConLetion);
mysqlcmd32.Parameters.AddWithValue("@sat", sat);
mysqlcmd32.Parameters.AddWithValue("@fri", fri);
Label32.Text = mysqlcmd32.ExecuteScalar().ToString();

 ConLetion.Close();
#3
KARIMSOFT كتب:

جرب هذا الكود

ConLetion.Open();

string mycmd31 = "SELECT ISNULL(COUNT(LeID),0) FROM Let WHERE convert(date,CreationDate) = @DtToDay";
SqlCommand mysqlcmd31 = new SqlCommand(mycmd31, ConLetion);
mysqlcmd31.Parameters.AddWithValue("@DtToDay", DtToDay);
Label31.Text = mysqlcmd31.ExecuteScalar().ToString();

string mycmd32 = "SELECT ISNULL(COUNT(LeID),0) FROM Let WHERE convert(date,CreationDate) BETWEEN @sat AND @fri";
SqlCommand mysqlcmd32 = new SqlCommand(mycmd32, ConLetion);
mysqlcmd32.Parameters.AddWithValue("@sat", sat);
mysqlcmd32.Parameters.AddWithValue("@fri", fri);
Label32.Text = mysqlcmd32.ExecuteScalar().ToString();

 ConLetion.Close();

للاسف استاذي الكريم

اصبح يظهر لي الخطأ التالي ... Type date is not a defined system type.

مع العلم ان عند تطبيق نفس الجمله في SQL يظهر نفس الخطأ ؟

#4

قمت ايضاً بتجربة DATETIME بدل DATE وايضاً لا تظهر نتائج صحيحه .. بل انها لا تظهر نتائج فقط 0

#5

قمت بتجربة الكود التالي في SQL ويعمل بشكل ممتاز .. ولكن عد تطبيقة في .net تظهر قيمة 0

CONVERT(VARCHAR(10), Let.CreationDate, 111) like ' 2012-07-09'

CONVERT(VARCHAR(10), Let.CreationDate, 111) like @DtToDay
#6

اجعلاها stored procedure في قاعد البيانات

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…