水晶报表多表查询问题

问题描述

本人刚学水晶报表,我采用dataset来填充报表,一个表的情况可以弄,多个表联合查询改如何弄啊?请教大家,最好能有个完整的例子哦,网上找了好久都是一篇文章转来转去。

解决方案

解决方案二:
一样的啦。你直接把表与表之间的左联,右联,内联接写成一个SQL语句,或先写从一个视图再查询出来成一个DATASET传进去就可以了。然后你设计报表也照样把几个有关联的表拉过去,设一下是用哪个字段连接,进行相应的设计就可以了。下面的例子供参考。protectedvoidPage_Load(objectsender,EventArgse){//连接字符在WEB.CONFIG获取stringconnStr=ConfigurationSettings.AppSettings["lj"].ToString();SqlDataSourcedatasource=newSqlDataSource(connStr,你有SQL语句了,不管是关系到几个表都一样照传,主要你的报表有相应的设计就可以了);ReportDocumentdoc=newReportDocument();TableLogOnInfologininfo=newTableLogOnInfo();stringpath;path=Server.MapPath("report1.rpt");doc.Load(path);//强制连接数据库,在WEB.CONFIG获取stringa,b,c,d;a=System.Configuration.ConfigurationManager.AppSettings[0];b=System.Configuration.ConfigurationManager.AppSettings[1];c=System.Configuration.ConfigurationManager.AppSettings[2];d=System.Configuration.ConfigurationManager.AppSettings[3];logininfo.ConnectionInfo.ServerName=a;logininfo.ConnectionInfo.DatabaseName=b;logininfo.ConnectionInfo.UserID=c;logininfo.ConnectionInfo.Password=d;try{doc.Database.Tables[0].ApplyLogOnInfo(logininfo);doc.Database.Tables[0].SetDataSource(datasource.Select(DataSourceSelectArguments.Empty));CrystalReportViewer1.ReportSource=doc;}catch{Response.Write("<script>alert('输出报表失败,请检查输入信息或网络!');</script>");}}

解决方案三:
stringsql="select*fromApp_Prject";SqlDataAdapterMyAdapter=newSqlDataAdapter(sql,MyConn);  MyAdapter.Fill(ds,"App_Prject");  oCR.SetDataSource(ds);这是一个表的代码,多表的时候这句代码MyAdapter.Fill(ds,"");这里引号里面填什么呢。
解决方案四:
其实不关MyAdapter.Fill(ds,"");这句代码的问题,是在你的SQL里控制就行了,我打个比方啊。stringsql="selecta.*,b.字段fromApp_Prjecta,App_Prject1bwherea.id=b.id";SqlDataAdapterMyAdapter=newSqlDataAdapter(sql,MyConn);MyAdapter.Fill(ds,"App_Prject");oCR.SetDataSource(ds);然后你的画报表的时候就是把两个表都拉下去设计啦。把两个表所需要的字段放进去就好了。一样的道理
解决方案五:
哦,这样啊,那个xsd文件是不是把两个表拉进来就可以了啊,还要如何处理呢
解决方案六:
我又遇到个“未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。”的错误
解决方案七:
高手你还在吗?
解决方案八:
你拉进去两个表后,要根据他们两个表的字段来连接啊。就是设置两个表的关系。
解决方案九:
哦我在试试啊有什么问题在找你啊

时间: 2024-10-26 03:19:22

水晶报表多表查询问题的相关文章

asp.net 水晶报表-主从表关联问题

asp.net|水晶报表|问题 一.使用视图meeting将多表关联整合在一起 二.通过Sql语句筛选数据 三.建立和主从表的关联 四.注意在CrystalReport1表中插入子报表的时候,一定要将主从表的关联字段设置好,否则出乱子 主体代码如下: /// <summary>  /// Bind CrystalReport  /// </summary>  /// <param name="strS">sql</param>  priv

水晶报表主从表不会绑定数据

问题描述 我的报表主表和从表分别显示的时候还能显示数据,但是设置成主从表之后,就什么数据都不显示了.怎么回事啊.

ibatis-关于iBatis多表查询问题

问题描述 关于iBatis多表查询问题 我要把这句话写入iBatis,domain和xml文件要怎么写.我现在是要给系统添加一个报表统计的功能,user_region是需要前台提交的数据.其中sql语句中涉及的四张表都有独立的domain对象在其他的包下面,有大神能帮我解决一下吗 select t.user_region,t.ENTERPRISE_NAME, count(t.user_phone),count(s.phone_number) from ( select distinct b.us

VS2010 水晶报表如何隐藏组树

问题描述 VS2010 水晶报表如何隐藏组树 在VS2010中使用水晶报表时,查询数据之后,报表左边组树如何设置默认关闭 解决方案 报表控件问题,更新了CRforVS_13_0_13之后,在属性中可设置grouptree关闭

WEB下的水晶报表Dataset数据不显示

问题描述 请教大伙:rptDocument.SetDataSource(rptDS.Tables["ApplyRefer"]);或rptDocument.SetDataSource(rptDS.Tables[0]);CrvApply.ReportSource=rptDocument;CrvApply.DataBind();服务器开机不久时是正常显现,但好像是到一定连接数后明细就不显示,需要重启服务就显示:原因知道不?是不是因为水晶在服务器上没填注册码?还是有连接数的限制?困扰多时,请大

水晶报表中的时间控制

问题描述 在水晶报表中,如何控制日期的显示,假如之让期显示一个月的,如何控制?是在程序中的! 解决方案 解决方案二:不明白什么意思解决方案三:在系统中,使用水晶报表,查询某一个月的数据,但是在报表中显示的是两个月的,想之让其显示查询那个月的!解决方案四:报表的数据源不是查询语句的结果吗?解决方案五:是的,是动态查询,查询一个月的,但是显示的是两个月.我对于水晶报表是个菜鸟,请多多指教解决方案六:引用4楼long20111111的回复: 是的,是动态查询,查询一个月的,但是显示的是两个月.我对于水

水晶报表 多个相同的表

问题描述 水晶报表 多个相同的表 我想做这样的表. 下面学生人数是动态的. 特长表里的内容也是动态的.(特长表格式相同) 问题是,制表思路,以及 如何绑定数据?

c#用水晶报表做打印表单,打印出多张问题。

问题描述 c#用水晶报表做打印,目前主报表中嵌套了子报表,结果在打印的时候,打印出了两份结果,一份主报表的,一份子报表的,怎么控制只打印一个主报表. 代码如下:DataSetds=newDataSet();ds.Tables.Add(sb_headtable);ds.Tables.Add(sb_bodytable);//把表组装到dataset里面去,资源才能进入到本地资源库.ReportDocumentpd=newReportDocument();stringpath=Directory.Ge

解决水晶报表提示&amp;ldquo;未知的查询引擎错误&amp;rdquo; FOR VS2010

原文:解决水晶报表提示"未知的查询引擎错误" FOR VS2010 在VS2010环境下运行水晶报表(当然要先装上Crystal Report For VS2010), 在SetDataSource方法附近提示"未知的查询引擎错误",可按如下办法解决:打开app.config,在startup节点添加一个属性useLegacyV2RuntimeActivationPolicy 1: <?xml version="1.0"?> 2: &