PDA

View Full Version : سوال: گزارش گیری بر اساس تاریخ



nasser5050
دوشنبه 24 اسفند 1388, 08:56 صبح
سلام دوستان
برای مشاهده یک گزارش بر اساس تاریخ باید در یک فرم تاریخ ها را وارد کنم و نتیجه را در report ببینم. ممکنه دوستان راهنمایی کنند که چطور می تونم اینکار ور انجام بدم؟

slashslash2009
دوشنبه 24 اسفند 1388, 09:05 صبح
با این میتونی گزارش بین دو تاریخ بگیری

DataTable dt = new DataTable();
connect consql = new connect();
dt = consql.MySelect("Select * from output where date BETWEEN'" + faDatePicker4.Text + "'AND'" + faDatePicker1.Text + "'and projeh='" + comboBoxEx11.Text + "'");
CrystalReport10 rptresult = new CrystalReport10();
rptresult.SetDataSource(dt);
reportin frm = new reportin();
frm.crystalReportViewer1.ReportSource = rptresult;
frm.crystalReportViewer1.Refresh();
frm.ShowDialog();

nasser5050
چهارشنبه 26 اسفند 1388, 00:20 صبح
سلام دوست عزیز
ممنون از راهنمایی شما اما خط دوم و سوم در C#2008 وجود نداره
ممکنه راهنمایی بیشتری کنید؟

nasser5050
جمعه 13 فروردین 1389, 16:50 عصر
ممکنه یک نمونه از این برنامه رو قرار بدین تا بهتر متوجه بشم؟

Rejnev
جمعه 13 فروردین 1389, 17:48 عصر
خط دوم و سوم یک کلاسه که خود استاد زحمت نوشتنش رو کشیدن
connect یک کلاسه که چند متد داخلش هست. که یکیش Myselect هست که یک کوئری رو اجرا میکنه و نتیجه رو میریزه توی DataTable
شما میتونید با SqlCommand و SqlConnection و SqlDataAdapter این رو پیاده سازی کنید.
یعنی یک دستور بنویسید که خروجیش بره توی DataTable و DataTable رو بفرستید به گزارش.
نتیجه این که در مورد برنامه نویسی خواندن از بانک یکم مطالعه کنید مشکلتون حل میشه.




string connectionString = "everything...";

SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

SqlCommand command = new SqlCommand("select * from tableName",connection);
command.CommandType = CommandType.Text;
SqlDataAdapter adapter = new SqlDataAdapter(command);

DataSet ds = new DataSet();
adapter.Fill(ds,"select * from TableName");
//--------------کد بالا
CrystalReport10 rptresult = new CrystalReport10();
rptresult.SetDataSource(dt);
reportin frm = new reportin();
frm.crystalReportViewer1.ReportSource = rptresult;

naser2009
جمعه 13 فروردین 1389, 18:58 عصر
سلام دوستان عزیز
پیشنهاد میشه در هر شرایطی از Stored Procedure برای intract با دیتابیس استفاده کنید و کدهای sql رو داخل کده برنامه تون نذارین!!
برای این مورد هم شما میتونی دوتا پارامتر @TO و @From رو به دیتابیس بفرستی تا بر حسب اون ها نتیجه لازم رو بهت برگردونه

nasser5050
یک شنبه 15 فروردین 1389, 18:04 عصر
سلام دوست عزیز (mohammad_bagherani (http://barnamenevis.org/forum/member.php?u=99991) )
مشکل خط دوم و سوم کد اول بود که شما هم آن را باز نکردین.
کمی فهم این قسمت برام مشکل هست برای همین نیاز به توضیح بیشتر و کاملتر دارم.

Rejnev
دوشنبه 16 فروردین 1389, 00:14 صبح
سلام دوست عزیز (mohammad_bagherani (http://barnamenevis.org/forum/member.php?u=99991) )
مشکل خط دوم و سوم کد اول بود که شما هم آن را باز نکردین.
کمی فهم این قسمت برام مشکل هست برای همین نیاز به توضیح بیشتر و کاملتر دارم.
سلام
من در پست 5، خط دوم و سوم کد اول رو جایگزین کردم.
اگه وقت دارید این PDF های آموزش کریستال ریپورت رو بخونید:
http://barnamenevis.org/forum/showthread.php?t=211652
ان یشاالله به جواب خواهید رسید.
یک مقدار هم روی DataTable و SqlDataAdapter و ... تحقیق کنید.(البته توی همون Pdf ها هست و ازشون استفاده هم شده)