社区
C#
帖子详情
高人进来解释一下 谢谢!
netboygg
2006-01-05 10:38:43
我在VS2005里的水晶报表给报表添加 数据库字段 的时候
为什么建立数据库连接时使用“项目数据库”(Project Data)里的ADO.NET DataSets这一项时 点中一个字段再“浏览数据” 为什么没有数据显示出来 报表程序也不会有显示
而我使用AOD新建一个连接时则可以正常使用 (但是再报表程序运行的时候要输入用户名和密码)
不知道有没有人遇到象我一样的问题?
...全文
98
6
打赏
收藏
高人进来解释一下 谢谢!
我在VS2005里的水晶报表给报表添加 数据库字段 的时候 为什么建立数据库连接时使用“项目数据库”(Project Data)里的ADO.NET DataSets这一项时 点中一个字段再“浏览数据” 为什么没有数据显示出来 报表程序也不会有显示 而我使用AOD新建一个连接时则可以正常使用 (但是再报表程序运行的时候要输入用户名和密码) 不知道有没有人遇到象我一样的问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
netboygg
2006-01-07
打赏
举报
回复
能不能给点这2种模式下的代码 前辈 谢谢了!
BearRui
2006-01-07
打赏
举报
回复
拉模式不用代码,你在报表中设置了数据库连接方式就会自动取数据了。
推模式的代码:
怎样使用水晶报表的推模式(转)
1.根据报表的结构字段,建立一个xsd文件,用来存放数据。
2.新建一个报表,注意建立的时候要浏览到该xsd文件,
建好后找到该报表的属性"自定义工具",把原来的
"CrystalDecisions.VSDesigner.CodeGen.ReportCodeGenerator"
改为"CrystalDecisions.VSShell.CodeGen.ReportCodeGenerator"
这样就会产生一个按照你报表名命名的zsmxb.cs文件,其实就是下面的类zsmxb
同时建立一个页面,把CrystalReportViewer控件放到页面,
并且要在该页面文件的顶部申明一下报表的类,
public class Fr_zsmxb : System.Windows.Forms.Form
{
zsmxb crReportDocument;
.........
3.建立报表结构
DataSet dss=new DataSet();
DataTable dt=new DataTable("zsmxb");
dt.Columns.Add("cchbh",System.Type.GetType("System.String"));
dt.Columns.Add("nglf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("ncf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nqyf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nzsf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("ntcf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("ngz",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nzjf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nylf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nwxf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nsy",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nqtf",System.Type.GetType("System.Decimal"));
dt.Columns.Add("nxj",System.Type.GetType("System.Decimal"));
dss.Tables.Add(dt);
注意:这里的DataTable dt=new DataTable("zsmxb");这句中表名"zsmxb"要和你的xsd文件中的表名要一样,
同时,dt的字段名、类型,都要和xsd文件一样,否则回产生"查询引擎错误"。
4.为这个ds传入数据
for(int i=0;i<this.ds.Tables["zsmxb"].Rows.Count;i++)
{
DataRow dr=dt.NewRow();
dr["cchbh"]=this.ds.Tables["zsmxb"].Rows[i]["cchbh"];
dr["nglf"]=this.ds.Tables["zsmxb"].Rows[i]["nglf"];
dr["ncf"]=this.ds.Tables["zsmxb"].Rows[i]["ncf"];
dr["nqyf"]=this.ds.Tables["zsmxb"].Rows[i]["nqyf"];
dr["nzsf"]=this.ds.Tables["zsmxb"].Rows[i]["nzsf"];
dr["ntcf"]=this.ds.Tables["zsmxb"].Rows[i]["ntcf"];
dr["ngz"]=this.ds.Tables["zsmxb"].Rows[i]["ngz"];
dr["nzjf"]=this.ds.Tables["zsmxb"].Rows[i]["nzjf"];
dr["nylf"]=0;
dr["nwxf"]=0;
dr["nsy"]=0;
dr["nqtf"]=this.ds.Tables["zsmxb"].Rows[i]["nqtf"];
dr["nxj"]=System.Convert.ToDecimal(dr["nglf"].ToString())+System.Convert.ToDecimal(dr["ncf"].ToString();
dt.Rows.Add(dr);
}
这里的ds是同过查询得到的,这里只是举个例子。
5.把得到的报表数据源dss绑定到水晶报表。
crReportDocument=new zsmxb();
crReportDocument.SetDataSource(dss);
crystalReportViewer1.ReportSource = crReportDocument;
BearRui
2006-01-06
打赏
举报
回复
水晶报表有2个模式,1个拉模式,1个推模式。
拉模式是报表从数据库拿数据,推模式是你用代码把数据推给报表
用DataSet是推模式,要你自己给它数据,你没跟肯定是没有数据的。
用推模式什么时候点“浏览数据”都不会有数据。
netboygg
2006-01-06
打赏
举报
回复
有人进来吗
netboygg
2006-01-06
打赏
举报
回复
前辈们 你们都在哪里去了啊....................
netboygg
2006-01-06
打赏
举报
回复
自己顶一下 能把使用AOD方式连接数据库时候总是输入密码的情况去掉也好啊
请各位
高人
进来
看看。急!
最近我的破机器一玩CS就莫名奇妙的死机或蓝屏。重启后会在装CS游戏盘符的根目录多一个无后缀的文件,小弟用NORTON也查不出有毒,狂晕。还有一个问题是自从小弟装WINXP以来每次关机都是屏幕显示您可以安全关闭...
谢谢
!
哪些英语用法是普通中国学生最生疏的?
请附上例句和解释,
谢谢
!如果能分别说一下美国、英国、澳大利亚的本地用法更好。传送门:你知道哪些中国人普遍生疏但意境很美的英语词汇? - 英语翻译哪些英语母语者常用的词组对于普通中国大学生来说是生疏的? - ...
某
高人
整理的Java就业面试题大全【1】
谢谢
!索取网址:www.itcast.cn 从享受生活的角度上来说:"程序员并不是一种最好的职业,我认为两种人可以做程序员,第一,你不做程序员,你就没有什么工作可做,或者说是即使有可以做的 工作但是你非常不愿意去做...
关于本人自学Java的一点经验(一)
现如今修改后公开发表于本人博客之上,网址:www.oyangk.cn (amcucn.iteye.com)如需转载请注明作者及出处,
谢谢
! 欢迎各位
高人
指点! 鉴于本人自学Java已经找到工作,特鼓起勇气将我的一点自学经验写出来与同是...
技术研究与工程开发
本文由www.Walzer.cn原创,欢迎转载分享,但转载请注明出处,保留原文博客链接,
谢谢
! 一、R&D概念的分拆 搞研发的掏出名片来一般会印上这么个部门:R&D。所谓R&D就是Research & Develop,研究与...
C#
110,499
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章