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

عمل كريستال ريبورت بشكل اسبوعي

بدأه ahmed-mii في 6 نوفمبر 2012 · 17 رد · 995 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا اخوان انا شغال على تطبيقات في سي شارب و احتاج لعمل تقرير اسبوعي باستخدام كريستال ريبورت وصلت الى هذه النقطة في الكود ؟

string x=textBox1.Text;
            string y=textBox1.Text;

            DateTime fro=Convert.ToDateTime (x);
            DateTime to=Convert.ToDateTime (y);
            DateTime xx = Convert.ToDateTime(f);
            DateTime yy = Convert.ToDateTime(t);
            SqlConnection con = new SqlConnection(@"Data Source=.\Ahmed;Initial Catalog=Market;Integrated Security=True");
            cmd = new SqlCommand("SELECT dat ,product_id FROM product where dat between '"+fro+"' and '"+to+"' ", con);
            con.Open();
            DataSet3 dy = new DataSet3();
            SqlDataAdapter ad1 = new SqlDataAdapter(cmd);
            ad1.Fill(dy, "product");
            CrystalReport1 objRpt = new CrystalReport1();
            objRpt.SetDataSource(dy);
            crystalReportViewer1.ReportSource = dy;
#2
  crystalReportViewer1.ReportSource = objRpt;
#3

في سطر

ad1.Fill(dy, "product");

يعطني خطأ

Conversion failed when converting date and/or time from character string

مع ان نوعهم في قاعدة البيانات datetime

تم تعديل هذه المشاركة بواسطة ahmed-mii في 7 نوفمبر 2012 في 09:03

#4

استخدم ال parameter

لمقارنة التاريخ

لتحميل السيرة الذاتية لي هنا

بيانات الإتصال

البريد الإلكتروني : SKIPCODER2012@GMAIL.COM

ENG.SEMBA@HOTMAIL.COM

Skype : SkipCoder

جوال : 00201110024783

أو

00201060935486

صفحة للتواصل حول منتجات الشركة

هنا

#5

طيب كيفية استخدام parameter للمقارنة و لو تضعه في كود حتى تتضح الصورة

#6

use the following code:


string y=textBox1.Text;
DateTime fro=Convert.ToDateTime (x);
DateTime to=Convert.ToDateTime (y);
DateTime xx = Convert.ToDateTime(f);
DateTime yy = Convert.ToDateTime(t);
SqlConnection con = new SqlConnection (@"Data Source=.\Ahmed;Initial Catalog=Market;Integrated Security=True");
cmd = new SqlCommand("SELECT dat ,product_id FROM product where dat between @From and @To", con);
cmd.Parameters.AddWithValue("@From",fro.Date);
cmd.Parameters.AddWithValue("@To",to.Date);
con.Open();
DataSet3 dy = new DataSet3();
SqlDataAdapter ad1 = new SqlDataAdapter(cmd);
ad1.Fill(dy, "product");
CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(dy);
crystalReportViewer1.ReportSource = objRpt;;
string x=textBox1.Text;

Note: Be sure to store the date part of DateTime data type in your database.

#7

اذا وصل للسطر

objRpt.SetDataSource(dy)

تتغير الصفحة و يعطيني هذا الخطأ

Could not load file or assembly 'file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies. The system cannot find the file specified.

#8
raidff كتب:

use the following code:


string y=textBox1.Text;
DateTime fro=Convert.ToDateTime (x);
DateTime to=Convert.ToDateTime (y);
DateTime xx = Convert.ToDateTime(f);
DateTime yy = Convert.ToDateTime(t);
SqlConnection con = new SqlConnection (@"Data Source=.\Ahmed;Initial Catalog=Market;Integrated Security=True");
cmd = new SqlCommand("SELECT dat ,product_id FROM product where dat between @From and @To", con);
cmd.Parameters.AddWithValue("@From",fro.Date);
cmd.Parameters.AddWithValue("@To",to.Date);
con.Open();
DataSet3 dy = new DataSet3();
SqlDataAdapter ad1 = new SqlDataAdapter(cmd);
ad1.Fill(dy, "product");
CrystalReport1 objRpt = new CrystalReport1();
objRpt.SetDataSource(dy);
crystalReportViewer1.ReportSource = objRpt;;
string x=textBox1.Text;

Note: Be sure to store the date part of DateTime data type in your database.

انا خزنت بيانات في الداتا بيس

post-269792-074838100 1352285352_thumb.p

وهذي صورة التقرير

post-269792-029958100 1352285401_thumb.p

المرفقات
sd.PNGsdf.PNG

تم تعديل هذه المشاركة بواسطة ahmed-mii في 7 نوفمبر 2012 في 13:50

#9

In Visual Studio go to Project menu then Project Properties. and in the application tab find (target framework) then change it to (.NET framework 4)

#10
raidff كتب:

In Visual Studio go to Project menu then Project Properties. and in the application tab find (target framework) then change it to (.NET framework 4)

الي عندي .net framework4

#11

اخي انت تريد عرض البيانات بناءاً على التاريخ المخزن في الحقل dat ؟؟

اذا كانت اجابتك نعم .. اريد رؤية كود الحفظ الخاص بالتاريخ

ان شاء الله حل مشكلتك بسيط و ليس بالامر المعقد

#12

اعتقد انا المشكلة هي بتنسيق التاريخ .. جرب حفظ التاريخ بهذا التنسيق (dd/MM/yyyy)

#13

احفظ التاريخ في قاعدة البيانات باستخدام امر GETDATE() في عملية insert query

#14
N@b!L كتب:

اخي انت تريد عرض البيانات بناءاً على التاريخ المخزن في الحقل dat ؟؟

اذا كانت اجابتك نعم .. اريد رؤية كود الحفظ الخاص بالتاريخ

ان شاء الله حل مشكلتك بسيط و ليس بالامر المعقد

INSERT INTO [dbo].[product]([product_id],[product_name],[product_unitprice],[product_sellingprice],[product_quantity],[kind],[isreturn],[vendor],[total],[dat],[product_sold],[note])

VALUES(3,'mouse',10.0,11,12,'d','no',1,20.0,GETDATE(),12,'dd')

N@b!L كتب:

اعتقد انا المشكلة هي بتنسيق التاريخ .. جرب حفظ التاريخ بهذا التنسيق (dd/MM/yyyy)

جربت بس في الاخير اذا سويت رن للكود يعطيني هذي الشاشة

post-269792-057437000 1352315185_thumb.p

المرفقات
dss.PNG
#15

جرب هذا

 GETDATE.toString("dd/MM/yyyy")

#16

جرب هذا الكود عند حفظ التاريخ

 	SELECT CONVERT(VARCHAR(10), GETDATE(), 105) AS [DD-MM-YYYY]

#17
N@b!L كتب:

جرب هذا الكود عند حفظ التاريخ

 	SELECT CONVERT(VARCHAR(10), GETDATE(), 105) AS [DD-MM-YYYY]

يعني يصير كذا

INSERT INTO [dbo].[product]
           ([product_id]
           ,[product_name]
           ,[product_unitprice]
           ,[product_sellingprice]
           ,[product_quantity]
           ,[kind]
           ,[isreturn]
           ,[vendor]
           ,[total]
           ,[dat]
           ,[product_sold]
           ,[note])
     VALUES
           (1
           ,'m'
           ,10.0
           ,10
           ,20
           ,'d'
           ,'no'
           ,1
           ,1.0
           ,   CONVERT(VARCHAR(10), GETDATE(), 105) AS [DD-MM-YYYY]
           ,1
           ,'d')

تم تعديل هذه المشاركة بواسطة ahmed-mii في 7 نوفمبر 2012 في 22:59

#18

يا اخوان تم حل المشكلة

string m = xx;
            DateTime  mm = Convert.ToDateTime(m);

            string o = mm.ToShortDateString ();
            DateTime p = Convert.ToDateTime(o);
            string w = p.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR"));

            string oo = dateTimePicker2.Text;
            DateTime pp = Convert.ToDateTime(oo);
            string ww = pp.ToString(System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR"));

            con.Open();
            string sql = "SELECT Product_id,dat FROM Product where dat>='" + w.ToString() + "' and dat<='" + ww.ToString() + "'";
            SqlDataAdapter dscmd = new SqlDataAdapter(sql, con);
            DataSet1 ds = new DataSet1();
            dscmd.Fill(ds, "Product");
            MessageBox.Show(ds.Tables["Product"].Rows.Count.ToString());
            con.Close();

            CrystalReport1 objRpt = new CrystalReport1();
            objRpt.SetDataSource(ds.Tables["Product"]);
            crystalReportViewer1.ReportSource = objRpt;
            crystalReportViewer1.Refresh();

مع تعديل ملف config

<startup useLegacyV2RuntimeActivationPolicy="true">

    <supportedRuntime version="v4.0"/>

  </startup>

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