PDA

View Full Version : مشکل در گزارش گیری از طریق کد



Jean Reno
سه شنبه 31 شهریور 1388, 21:47 عصر
با سلام
میخوام از طریق کد نویسی گزارش گیری رو انجام بدم
کد زیر رو نوشتم اما خطایی که تصویرش رو ضمیمه کردم رو می ده
بانکم مشکلی نداره
ممنون می شم اگه کمکم کنید




SqlDataAdapter ad;
SqlConnection con = new SqlConnection("server=localhost;Initial Catalog=HIS ;Integrated Security=True");
ad = new SqlDataAdapter("select * from doctor", con);
DataSet da = new DataSet();
CrystalReport1 re = new CrystalReport1();
con.Open();
ad.Fill(da, "doctor");
con.Close();
re.SetDataSource(da);

this.crystalReportViewer1.ReportSource = re;

viper2009
سه شنبه 31 شهریور 1388, 22:20 عصر
با سلام
میخوام از طریق کد نویسی گزارش گیری رو انجام بدم
کد زیر رو نوشتم اما خطایی که تصویرش رو ضمیمه کردم رو می ده
بانکم مشکلی نداره
ممنون می شم اگه کمکم کنید




SqlDataAdapter ad;
SqlConnection con = new SqlConnection("server=localhost;Initial Catalog=HIS ;Integrated Security=True");
ad = new SqlDataAdapter("select * from doctor", con);
DataSet da = new DataSet();
CrystalReport1 re = new CrystalReport1();
con.Open();
ad.Fill(da, "doctor");
con.Close();
re.SetDataSource(da);


this.crystalReportViewer1.ReportSource = re;


ببین یک DataSet جدید واسه کریستال معرفی کن یا اینکه قبل از لودش DataSet رو خالی کن.

Jean Reno
سه شنبه 31 شهریور 1388, 23:19 عصر
ببین یک DataSet جدید واسه کریستال معرفی کن یا اینکه قبل از لودش DataSet رو خالی کن.

جواب نداد !

viper2009
سه شنبه 31 شهریور 1388, 23:59 عصر
جواب نداد !

می تونی برنامه ات رو ضمیمه کنی؟

Jean Reno
چهارشنبه 01 مهر 1388, 07:23 صبح
می تونی برنامه ات رو ضمیمه کنی؟

برنامه خاصی نیست
می خواستم ابتدا روی یک پروژه تمرینی نحوه گزارش گیری از طریق کد نویسی رو تمرین کنم سپس به پروژه اصلی انتقال بدم

اگه بتونی یک برنامه کوچک که از طریق کدنویسی به بانک وصل بشه و چند تا فیلد رو نمایش بده ضمیمه کنی ممنونت می شم

f_naderi
چهارشنبه 01 مهر 1388, 11:33 صبح
سلام
ببینید که توی کریستال ریپورتی که به پروژتون اضافه کردید ، توی قسمت field explorer جداول بانکتون اضافه شدند ، چون توی گزارشتون جدولی پیدا نمی کنه.

explorer2
چهارشنبه 01 مهر 1388, 13:04 عصر
dataset را داخل datatable بریز و بعد datatable را نمایش بده درست می شه

Jean Reno
چهارشنبه 01 مهر 1388, 14:03 عصر
من کد زیر رو نوشتم با این که تو کدم ذکر کردم که در صورتی که Datatable من خالی نبود اتصال رو انجام بده پس اگر خالی باشه نباید شرط چک بشه اما با این حال خطا رو درست توی دستور


my_report.SetDataSource(My_Datatable);
می ده
کد کامل من بصورت زیره البته لازم به ذکره که من برای اتصال به بانک و پرکردن Datatable از کلاس ها استفاده می کنم
کلاسم مشکلی نداره چندین بار ازش استفاده کردم


string str_select = "select * from doctor";
Obj_Class.connect();

DataTable My_Datatable = Obj_Class.select(str_select);

if (My_Datatable.Rows.Count!=0)
{
CrystalReport1 my_report = new CrystalReport1();

my_report.SetDataSource(My_Datatable);

crystalReportViewer1.ReportSource = my_report;

}
Obj_Class.disconnect();

Jean Reno
چهارشنبه 01 مهر 1388, 14:07 عصر
سلام
ببینید که توی کریستال ریپورتی که به پروژتون اضافه کردید ، توی قسمت field explorer جداول بانکتون اضافه شدند ، چون توی گزارشتون جدولی پیدا نمی کنه.

من تو سوالم عنوان کردم که می خوام با کدنویسی فیلدهام رو اضافه کنم
مگر با اتصال DatatAble به گزارش فیلدهای انتخاب شده نباید درج شوند
از حالت ویزارد استفاده نمی کنم که توی قسمت field explorer فیلدهای انتخاب شده رو ببینم
می خوام در زمان اجرا اتصال و انتخاب فیلدها انجام بگیره

f_naderi
چهارشنبه 01 مهر 1388, 14:13 عصر
اشتباهه شما حتما باید کریستال ریپورت رو به پروژتون اضافه کنید سپس در قسمت فیلد اکسپلورر جداول بانکتون رو اضافه کنید و گزارشتون رو طراحی کنید(الان من در قسمت فیلد اکسپلورر جداولم رو پاک کردم همین پیغام رو داد)

viper2009
چهارشنبه 01 مهر 1388, 20:40 عصر
دوست عزیز
این پروژه رو ببین.