水晶报表中推模式数据源的问题.
上面这是比较简单的水晶报表设置数据源的方法,直接打开数据库,
再填充由xsd定义好的 DataSet1,然后设置报表数据源。
OleDbConnection oleConn = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xtreme.mdb ");
OleDbDataAdapter oleAda = new OleDbDataAdapter( "Select * From 采购 ", oleConn);
DataSet1 data = new DataSet1();
oleConn.Open();
oleAda.Fill(data, "采购 ");
CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(data.Tables[0]);
crystalReportViewer1.ReportSource = cr;
现在的问题是我的程序是三层结构的,在客户端是没有 Connection 的,
也就是不能用 DataAdapter 的 Fill 填充,
这个时候不知道要怎么设置由 xsd 定义好的 DataSet1??????
下面是我用来调试的尝试方法之一,但是这个方法是不行的,希望大家给于指点,谢谢
OleDbConnection oleConn = new OleDbConnection( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xtreme.mdb ");
OleDbDataAdapter oleAda = new OleDbDataAdapter( "Select * From 采购 ", oleConn);
DataSet1 data = new DataSet1();
DataSet d = new DataSet();
DataTable t;
oleConn.Open();
oleAda.Fill(d, "采购 ");
t = d.Tables[0].Clone();
data.Tables.Add(t);
CrystalReport1 cr = new CrystalReport1();
cr.SetDataSource(data.Tables[0]);
crystalReportViewer1.ReportSource = cr;
------解决方案--------------------代码是服务器端执行的啊,跟客户端是否有数据库连接没有关系的啊.
你的mdb只需要在服务器端有部署就可以.