سلام دوستان
برای مشاهده یک گزارش بر اساس تاریخ باید در یک فرم تاریخ ها را وارد کنم و نتیجه را در report ببینم. ممکنه دوستان راهنمایی کنند که چطور می تونم اینکار ور انجام بدم؟
سلام دوستان
برای مشاهده یک گزارش بر اساس تاریخ باید در یک فرم تاریخ ها را وارد کنم و نتیجه را در report ببینم. ممکنه دوستان راهنمایی کنند که چطور می تونم اینکار ور انجام بدم؟
با این میتونی گزارش بین دو تاریخ بگیری
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();
سلام دوست عزیز
ممنون از راهنمایی شما اما خط دوم و سوم در C#2008 وجود نداره
ممکنه راهنمایی بیشتری کنید؟
ممکنه یک نمونه از این برنامه رو قرار بدین تا بهتر متوجه بشم؟
خط دوم و سوم یک کلاسه که خود استاد زحمت نوشتنش رو کشیدن
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;
سلام دوستان عزیز
پیشنهاد میشه در هر شرایطی از Stored Procedure برای intract با دیتابیس استفاده کنید و کدهای sql رو داخل کده برنامه تون نذارین!!
برای این مورد هم شما میتونی دوتا پارامتر @TO و @From رو به دیتابیس بفرستی تا بر حسب اون ها نتیجه لازم رو بهت برگردونه
سلام دوست عزیز (mohammad_bagherani )
مشکل خط دوم و سوم کد اول بود که شما هم آن را باز نکردین.
کمی فهم این قسمت برام مشکل هست برای همین نیاز به توضیح بیشتر و کاملتر دارم.
سلام
من در پست 5، خط دوم و سوم کد اول رو جایگزین کردم.
اگه وقت دارید این PDF های آموزش کریستال ریپورت رو بخونید:
https://barnamenevis.org/showthread.php?t=211652
ان یشاالله به جواب خواهید رسید.
یک مقدار هم روی DataTable و SqlDataAdapter و ... تحقیق کنید.(البته توی همون Pdf ها هست و ازشون استفاده هم شده)