高分请教大家一个有关报表的问题!(在线)

pop133 2002-05-31 11:33:19
我设计报表时报表中显示数据库中一个表中的数据时正常!但是我所需要的数据
是来自多个表中的!
查询语句类似如下:
select table1.name,table2.sex from table1,table2
连接到报表中时便出现“查询引擎错误”提示!
查了帮助文件!里边说:

FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表。

意思是明白了!但是具体的该怎么做?
...全文
65 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pop133 2002-05-31
  • 打赏
  • 举报
回复
源码:

在 Windows 窗体类定义的开始位置,键入:
Public CrystalReport1 oRpt = new CrystalReport1();
在 Form1() 中的 InitializeComponent() 调用的后面,键入:
// 设置连接信息
OleDbConnection oleConn = new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Program Files\\Microsoft Visual Studio .NET\\Crystal Reports\\Samples\\Database\\chs\\xtreme.mdb");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter ("SELECT * FROM Customer", oleConn);//这里查询是用的一个表!我若用到的是两个表的话
就会出错!
DataSet dataSet = new DataSet ();

// 连接到数据库、从数据库中获取数据然后断开数据库连接
dataAdapter.Fill (dataSet, "Customer");

// 使用“报表引擎”对象模型将填充的数据集
//传递给报表
oRpt.SetDataSource (dataSet);

// 将带有数据的报表对象绑定到 Windows 窗体查看器
crystalreportviewer1.ReportSource = oRpt;

注意:FillDataSet 方法可连接到指定的数据库,提取数据,然后断开数据库连接。如果您希望将数据库中的多个表添加到报表中,请使用 SQL JOIN 语句将这些表联接在一起;然后在 FillDataSet 方法中指定一个结果表。

就是这些!下边的那个注意项不明白!
pop133 2002-05-31
  • 打赏
  • 举报
回复
没用什么DATAGRID显示数据!就是想把数据库中若干个表中的某些字段在报表
中显示出来!
bkss 2002-05-31
  • 打赏
  • 举报
回复
你用DATAGRID显示数据么?
bigbear_lj 2002-05-31
  • 打赏
  • 举报
回复
怎么回事,发了好几遍都失败。
修改你的SQL语句即可。将多表查询变成带子查询的查询。

select table1.name,table2.sex from table1,table2
改成:
1.select a.name,a.sex from (select table1.name,table2.sex from table1,table2) a
2.使用UNION查询
我测试过可以通过.
bigbear_lj 2002-05-31
  • 打赏
  • 举报
回复
很简单将SQL语句改写一下即可。将多表查询改成带子查询的查询
select table1.name,table2.sex from table1,table2
改成:
1.select a.name,a.sex from (select table1.name,table2.sex from table1,table2) a
2.或使用UNION将多表连接成一个查询表即可。
我测试过行的通。

bigbear_lj 2002-05-31
  • 打赏
  • 举报
回复
crystalreport不支持多表查询,根据查询需要创建一个视图不就行了吗。


pop133 2002-05-31
  • 打赏
  • 举报
回复
怎么了?难道没人会么?

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧