惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Last Watchdog
The Last Watchdog
S
Schneier on Security
C
Cisco Blogs
P
Privacy International News Feed
T
Tenable Blog
Spread Privacy
Spread Privacy
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News and Events Feed by Topic
Security Archives - TechRepublic
Security Archives - TechRepublic
阮一峰的网络日志
阮一峰的网络日志
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
Project Zero
Project Zero
GbyAI
GbyAI
N
Netflix TechBlog - Medium
T
Tor Project blog
雷峰网
雷峰网
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threat Research - Cisco Blogs
Cyberwarzone
Cyberwarzone
L
LangChain Blog
MyScale Blog
MyScale Blog
C
CERT Recently Published Vulnerability Notes
C
Check Point Blog
G
Google Developers Blog
T
Tailwind CSS Blog
L
LINUX DO - 热门话题
宝玉的分享
宝玉的分享
IT之家
IT之家
F
Fortinet All Blogs
TaoSecurity Blog
TaoSecurity Blog
Recent Announcements
Recent Announcements
T
The Exploit Database - CXSecurity.com
Hacker News: Ask HN
Hacker News: Ask HN
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Google Online Security Blog
Google Online Security Blog
Help Net Security
Help Net Security
H
Hacker News: Front Page
小众软件
小众软件
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
P
Privacy & Cybersecurity Law Blog
T
Threatpost

博客园 - semye

input+select(multiple)实现下拉框输入值 简单的js分页脚本 - semye - 博客园 请问做个类似这样的网站多少钱 省份和城市 - semye - 博客园 客户端取用户控件中服务器控件的标识 VS2003调试很慢 enctype="multipart/form-data" 群发邮件太慢了! SQL SERVER “数组参数” WEB水晶报表部署笔记 写程序解智力题,help!!! 低级错误是怎样“炼”成的? SQL语句区分大小写问题 发送邮件 - semye - 博客园 JS事件大全 WinForm动态添加控件及其事件 WinForm程序实现滚动字幕与背景音乐 公历转换为农历 导数程序
简单水晶报表程序与安装部署文件制作
semye · 2007-03-26 · via 博客园 - semye

一,拖放报表查看器

CrystalReportViewer控件允许在应用程序中查看 Crystal Report。ReportSource 属性用于设置要查看哪个报表。

该属性设置之后,报表显示在查看器中。报表源可以是ReportDocument、报表文件的路径,也可以是强类型报表。

1.往窗体上拖放一个报表查看器 crystalReportViewer

二,创建报表

1.指向“添加”,单击“添加新项”。

2.在“添加新项”对话框中,从“模板”区域选择 Crystal Report,将报表命名为rptClient,单击“打开”。

3.在 Crystal Report 库中,选择下列选项之一:

(1)使用报表专家 — 指导您完成报表的创建过程,并将您的选择添加到 Crystal Report Designer。

(2)作为空白报表 — 打开 Crystal Report Designer。

(3)来自于现有的报表 — 创建新报表,它与指定的另一报表设计相同。
(Crystal Reports 通过数据库驱动程序与数据库连接。每个驱动程序都被编写为可处理特定数据库类型或数据库访问技术。

拉和推模型
为了向开发人员提供最灵活的数据访问方法,Crystal Reports 数据库驱动程序被设计为可同时提供数据访问的拉模型和推模型。

拉模型

在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的 SQL 命令都同时由 Crystal Reports 本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。

推模型

相反,推模型需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。)

三、从 ADO.NET 数据集制作报表

1.在项目中新建一个架构文件。在解决方案资源管理器中,右击项目名,“添加”—》“添加新项”—》“数据集”(Dataset1.xsd )。

2.在服务器资源管理器中,右击“数据连接”—》“添加连接”。

3.添加连接后,数据库及其表和字段就出现在服务器资源管理器的“数据连接”节点下面,将需要的表从服务器资源管理器中拖动到 Dataset1.xsd 的“数据集”选项卡上并保存和生成数据集对象。

4.将报表连接到 ADO.NET 数据集对象。转到报表界面(CrystalReport1.rpt)—》“字段资料管理器”—》右击“数据库字段”—》“添加/删除数据库”—》项目数据—》“ADO.NET 数据集”

四、动态改变数据源的代码

  
  public ReportDocument rd = new ReportDocument();
  public Form1()
  {
   InitializeComponent();
   this.Do(c2.str1,c2.str2,c2.title1,c2.title2);
  }
  private void Do(string str1,string str2,string title1,string title2)
  {
   
   DataSet ds = new DataSet();
   Class1 cl = new Class1();
   ds = cl.GetData(str1,str2, title1,title2);
   rd.Load(Application.StartupPath+"\\CrystalReport1.rpt");
   rd.SetDataSource(ds);
   this.crystalReportViewer1.ReportSource = rd;
  }
  public DataSet GetData(string str1,string str2,string title1,string title2)
  {
   ……略
   da.Fill(ds,"CrstalReport_Semye");
   ……略
   return ds;   
  }
五、安装和部署项目

1.右击解决方案—》“新建项目”—》左边目录选择“安装和部署项目”—》“安装项目”

2.右击新建的安装项目—》“添加”—》“合并模块”—》选择以下几个文件:

('C:\Program Files\Common Files\Merge Modules' )
Crystal_Database_Access2003.msm
Crystal_Database_Access2003_chs.msm
Crystal_Managed2003.msm
Crystal_Managed2003_chs.msm
Crystal_regwiz2003.msm
VC_User_CRT71_RTL_X86_---.msm
VC_User_STL71_RTL_X86_---.msm

3.右键点击 Crystal_regwiz2003.msm 的属性,在“MergeMouduleProperties”里的“License Key”填入:AAP5GKS0000GDE100DS(生成Crystal Report是用到注册号的密码!)

4、选定项目,鼠标右键,弹出快捷菜单,选视图-文件系统,进入文件系统视图。

5、在“应用程序文件夹”里添加程序需要用到的文件,例如EXE文件(工程BIN文件夹下的EXE,及C:\WINDOWS\system32下的msiexec.exe),配置文件,图标文件等。

6、用户的程序菜单创建一文件夹

7、创建EXE文件快捷方式,改成适当的名字,剪切粘贴到“用户的程序菜单\文件夹”和“用户桌面”。鼠标右键看属性,ICON,从“应用程序文件夹”中选择图标文件。

8.更改项目属性。选定项目,然后选菜单栏“视图”—“属性窗口”,将productname及title改为软件名称,它们在安装过程中会显示。拷贝productcode;切换到文件系统视图,选“用户的程序菜单”,找到卸载文件的快捷方式,鼠标右键看属性,在属性Arguments里粘贴刚才复制的productcode。

9.更改安装路径。切换到文件系统视图,选“应用程序文件夹”,属性,将[ProgramFilesFolder][Manufacturer]\[ProductName]中的[ProductName]改成打算安装后的文件夹名称,并且去掉[Manufacturer]。

10.重新生成解决方案,生成安装包。右击安装项目—》“生成”。

部署完成,安装后: