.net winform实现水晶报表
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>