2014-12-28 41 views
0

我得到了这个错误!当打开水晶报告follong代码。数据源对象无效

数据源对象无效。

代码是在这里

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; 

是什么问题?????

回答

1

要设置报表的数据源与DataAdapter的:

rpt.SetDataSource(DA);

与数据集或数据表这样替换它:

rpt.SetDataSource(DS); //数据集

rpt.SetDataSource(ds.Tables [“TableName”]); //一个DataTable

+0

我做了,但在Crystal报告中得到了不良结果。 请为我提供完整的代码,我是初学者。 – UnKnowN

+0

那你到底在干什么?什么样的不良结果? – Bhaskar

+0

我想要这些结果在水晶报告 http://stackoverflow.com/questions/27638014/mysql-query-select-sum-left-join?noredirect=1#comment43694780_27638014 – UnKnowN

-1

应进行嵌套查询的搜索和检查,然后调用特定视图当u正在为Datasourse一个新的报告。 如果您的查询是正确的,但Datasourse无效,您将无法得到您期望的报告输出。