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

محتاج تعديل على جملة استعلام

بدأه ابو رفيق في 18 فبراير 2013 · 11 رد · 744 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني الكرام

 

عندي كود بالشكل التالي

 

 

 

If Conn_SqL.State = ConnectionState.Open Then Conn_SqL.Close()
Conn_SqL.Open()
Command_Sql.CommandText = "select sum(madeen) as [M] , sum(daen) as [D] , 
date_Journal as [F] from a_sub_journal where
= '" & 
MDIParent1.All_Account_Comp.ComboBox.SelectedValue & "' and
= '" & 
Val(TreeView1.SelectedNode.Tag) & "' and [Fiscal_year] = '" & 
MDIParent1.All_F_Year.ComboBox.SelectedValue & "' group by 
[date_Journal]"
Command_Sql.Connection = Conn_SqL
Datareader_Sql = Command_Sql.ExecuteReader
ListView2.Items.Clear()
ListView2.Columns.Clear()
' Create the column headers.
ListView2.Columns.Add("مدين", 70, HorizontalAlignment.Left)
ListView2.Columns.Add("دائن", 70, HorizontalAlignment.Left)
ListView2.Columns.Add("رصيد", 70, HorizontalAlignment.Left)
ListView2.Columns.Add("الفترة", 70, HorizontalAlignment.Left)
Do While Datareader_Sql.Read()
Dim new_item As New ListViewItem(Datareader_Sql.Item("M").ToString)
new_item.SubItems.Add(Datareader_Sql.Item("D").ToString)
new_item.SubItems.Add(Datareader_Sql.Item("d").ToString)
new_item.SubItems.Add(Datareader_Sql.Item("f").ToString)
ListView2.Items.Add(new_item)
Loop
Datareader_Sql.Close()
Command_Sql.Dispose()
Conn_SqL.Close()
End Sub
 
الكود لا يعطي خطأ ولا يعطي أيضا نتيجة
 
جربت كود الاستعلام في  sql queryبيعطي نتائج
 
عدلت جملة commandtext للسطر التالي

select sum(madeen) as [M] , sum(daen) as [D] , date_Journal as [F] from a_sub_journal where

 = '1' and
= '1101000' and [Fiscal_year] = '2012' group by [date_Journal]

وأيضا لم يعطي نتيجة

 

أرجوا المساعدة في معرفة مكان المشكلة وشكرا

تم تعديل هذه المشاركة بواسطة ابو رفيق في 18 فبراير 2013 في 22:44

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#2

أخواني معذرة تم حل المشكلة

 

وكانت في جملة الاستعلام حيث تم تعديل المتغير

 

MDIParent1.All_F_Year.ComboBox.Text  بدل من

 

MDIParent1.All_F_Year.ComboBox.SelectedValue


 



لي طلب تاني اذا تفضلتم  أنا محتاج تبقى عملية التجميع بالشهر وليس بالتاريخ

 

بمعني أن يقوم بعمل Group By  للشهر وليس للتاريخ

 

هل يمكن ذلك وشكرا

تم تعديل هذه المشاركة بواسطة ابو رفيق في 18 فبراير 2013 في 23:13

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#3

الا يمكنك استخدام الداله month()؟

 

GROUP BY Month(date);

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#4
mental-driller كتب:

الا يمكنك استخدام الداله month()؟

 

GROUP BY Month(date);

 

 

للأسف لا تعمل معي حتى من داخل sql Query  لا تعمل

 

للعلم  حقل date_journal  التاريخ فيه بالصيغة   "01/05/2012"

ونوعه نصي

 

وجربت  DatePart(month, date_journal)

 

ولم تفلح

 

جملة الاستعلام

 

select sum(madeen) as [M] , sum(daen) as [D] , Date_Id as [F] from a_sub_journal where

 = '1' and
= '1101000' and [Fiscal_year] = '2012' group by DATEPART(month, Date_Id)

 

 

 

ونص الخطأ

 

Msg 8120, Level 16, State 1, Line 4

Column 'a_sub_journal.Date_ID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

تم تعديل هذه المشاركة بواسطة ابو رفيق في 19 فبراير 2013 في 00:44

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#5

السلام عليكم .. 

select sum(madeen) as [M] , sum(daen) as [D] , convert(varchar ,month(date_Journal)) + '/' + convert(varchar ,year(date_Journal)) as [F] 
from a_sub_journal
group by convert(varchar ,month(date_Journal)) + '/' + convert(varchar ,year(date_Journal))

طبعا يتم التجميع في الشهر و السنة ..(صح؟)

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 19 فبراير 2013 في 01:21

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6

الأخ الفاضل حسام  جزاك الله خير وجعله في ميزان حسناتك

 

جملة الاستعلام تمام وظبطت وطلع الناتج تمام زي ما انا محتاج

 

جزاك الله خير

 

ودي إضافة على كود حضرتك لتعم الفائدة للجميع  لو رغبت في وضع اسم الشهر بدل رقمه هايكون بالشكل ده

 

 

 
select sum(madeen) as [M] , sum(daen) as [D] ,convert(varchar 
,datename(month,(date_Journal))) + '/' + convert(varchar ,year(date_Journal)) as 
[F]from a_sub_journalgroup by convert(varchar 
,datename(month,(date_Journal))) + '/' + convert(varchar 
,year(date_Journal))

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#7

جزاك الله خيرا ... بالتوفيق

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#8
houssam11350_11350 كتب:

جزاك الله خيرا ... بالتوفيق

 

أخي الكريم حسام

 

استفسار  أنا جربت الكود  السابق مع sql 2000  في العمل والحمد لله ماشي تمام وقلت في المشاركة إن الكود شغال تمام

 

نفس الكود بشغله على sql query  2005  في االمنزل ولكن لا يعمل ويعطي الخطأ التالي

 

Msg 8115, Level 16, State 2, Line 1

Arithmetic overflow error converting expression to data type datetime.

 

هل هناك اختلاف بين الإصدارتين مع العلم أنه لا يعطيني خطأ عندما انقر على parse  ولكن عند تنفيذ الاستعلام

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#9

السلام عليكم ...

إذا لم يعطي خطأ أثناء الــ Parse  فيكون الخطأ في البيانات , قد يكون قيم التاريخ فازغة  حاول مايلي و اخبرنا بالنتيجة :

select * from a_sub_journalgroup  WHERE date_Journal IS NULL;

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#10
houssam11350_11350 كتب:

السلام عليكم ...

إذا لم يعطي خطأ أثناء الــ Parse  فيكون الخطأ في البيانات , قد يكون قيم التاريخ فازغة  حاول مايلي و اخبرنا بالنتيجة :

select * from a_sub_journalgroup  WHERE date_Journal IS NULL;

 

 

لا توجد قيم Null ظهرت في الاستعلام

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#11
ابو رفيق كتب:

لا توجد قيم Null ظهرت في الاستعلام

 

 

الأخ حسام جزاك الله خير على اهتمامك وتوضيحك

 

حضرتك لفت نظري في آخر رد إن ممكن تكون مشكلة في البيانات  وبدأت أدقق بالفعل في البيانات لقيت المشكلة من عندي

 

قاعدة البيانات في العمل سليمة علشان كده اشتغل الكود وكان تنسيق التاريخ بها "01/03/2012" فشغالة تمام

 

وأنا بجرب أمس غيرت التاريخ للتجربة فسهوت ووضعت التنسيق بالشكل "2012/03/01" ولذلك لم تعمل

 

آسف على الوقت إلى حضرتك أخدته معايا وياريت يكون بفائدة للجميع

:)  :)  :)  شكرا لكل من علمني حرفا :)  :)  :)


#12
ابو رفيق كتب:

لا توجد قيم Null ظهرت في الاستعلام

انا جربته على 2005 و يعمل حتى لو كان هناك قيم NULL  في التاريخ .

 

تعديل :

جزاك الله خيرا ...

جيد ان المشكلة تم حلها ...  هذا يكسبك مهارة في حصر اسباب المشاكل و الأخطاء  و حلها .

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 19 فبراير 2013 في 19:45

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

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