I got this error! When open crystal report upon follong code.
The data source object is invalid.
Code is here
Cursor = Cursors.WaitCursor;
timer1.Enabled = true;
CrystalReport2 rpt = new CrystalReport2();
obj.connection();
String accept = "SELECT S.Product as Products, COALESCE(Pur_Orders.Quantity, 0) as [Products purchased], COALESCE(Sale_Orders.Quantity, 0) as [Products Sold] From Inv_stock S LEFT JOIN (SELECT Item, SUM(Quantity) AS Quantity FROM Pur_Orders Where Pur_Orders.Date='" + dateTimePicker1.Value.Date + "' GROUP BY Item) AS Pur_Orders ON S.Product = Pur_Orders.Item LEFT JOIN (SELECT Item, SUM(Quantity) AS Quantity FROM Sale_Orders Where Sale_Orders.Date='" + dateTimePicker1.Value.Date + "' GROUP BY Item) AS Sale_Orders ON S.Product = Sale_Orders.Item";
SqlCommand cmd = new SqlCommand(accept, obj.con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "Inv_stock");
da.Fill(ds, "Pur_Orders");
da.Fill(ds, "Sale_Orders");
rpt.SetDataSource(da);
obj.con.Close();
Inventory inv = new Inventory();
inv.CrystalReportViewer.ReportSource = rpt;
inv.Visible = true;
What is problem?????
You are setting the datasource of the report with DataAdapter:
rpt.SetDataSource(da);
Replace it with a dataset or a datatable like this:
rpt.SetDataSource(ds); // a dataset
rpt.SetDataSource(ds.Tables["TableName"]); // a datatable