首页 > 技术文章 > .net winform实现水晶报表

shiyuzuxia 2019-08-13 15:23 原文

 

1 。 新建一个winform项目   添加水晶报表  项目里就会有水晶报表文件

2.在form窗体里的工具箱添加水晶报表  这里添加的水晶报表和上一步添加的水晶报表项目是不一样的 这里的是控件

3.写代码连接数据库获取数据,把代码放到报表里

 

代码如下:

//连接数据库获取数据

DataSet ds = new DataSet();
string connStr = "server=10.20.1.4;database=xxxxxx;uid=sa;pwd=xxxxx";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
string SQL = "SELECT dbo.student.ID,sno AS '学号',sname AS '姓名',age AS '年龄',cname AS '班级' "
+ " FROM dbo.student JOIN dbo.sclass on "
+ " student.classno=dbo.sclass.ID ";
SqlDataAdapter sda = new SqlDataAdapter(SQL, conn);
sda.Fill(ds, "student");
conn.Close();
//水晶报表放数据

CrystalReport1 reportTest = new CrystalReport1();    // 把第一步创建的水晶报表项目实例化
reportTest.SetDataSource(ds.Tables[0]);     //绑数据
reportTest.Refresh();
crystalReportViewer1.ReportSource = reportTest;    //第二步添加的水晶报表控件 绑定数据

 

4.结果

 

5.遇到的错误:

 

 解决:

改app.config    加上 在<startup > 上加上useLegacyV2RuntimeActivationPolicy="true"

<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>

 

推荐阅读