c#水晶报表连接mysql_C# 水晶报表打印 绑定数据库表

这篇博客介绍了如何在C#应用程序中使用水晶报表连接到MySQL数据库,填充数据表并生成报告。首先展示了创建一个简单的水晶报表实例,通过DataTable动态添加数据。然后,展示了如何从数据库查询数据并填充报表,最后实现报表的打印功能。
摘要由CSDN通过智能技术生成

引用一些代码,没想那么多,只是留作参考,以后不用再拿本本来回找了而已。

public string UserName = string.Empty;

public string Number = string.Empty;

///

/// 水晶报表一

///

private void InitRept()

{

try

{

DataTable dt = new DataTable("PZhTable");

dt.Columns.Add("Name");

dt.Columns.Add("Number");

dt.Columns.Add("Name1");

dt.Columns.Add("Number1");

DataRow NewRow = dt.NewRow();

NewRow["Name"] = UserName;

NewRow["Number"] = Number;

NewRow["Name1"] = UserName;

NewRow["Number1"] = Number;

dt.Rows.Add(NewRow);

ReportDocument rptc = new ReportDocument();

string rptFile = Application.StartupPath + "\\Rept.rpt";

rptc.Load(rptFile);

rptc.Database.Tables[0].SetDataSource(dt);

this.crystalReportViewer1.ReportSource = rptc;

crystalReportViewer1.PrintReport();

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

//调用和传值

Rept.frmRept frm = new Rept.frmRept();

frm.UserName = UserName;

frm.Number = Convert.ToInt32(lblNumber.Text.Trim()).ToString();

frm.ShowDialog();

///

/// 水晶报表二

///

private void InitRept()

{

try

{

DataTable dt = new DataTable("ZiGeTable");

dt.Columns.Add("Name");

dt.Columns.Add("ZiGeHao");

dt.Columns.Add("Name1");

dt.Columns.Add("ZiGeHao1");

dt.Columns.Add("Name2");

dt.Columns.Add("ZiGeHao2");

string MySql = "SELECT * from ZiGeTable order by ShunXuHao asc";

DataTable newdt = new DataAccess().GetDataSet(MySql).Tables[0];

if (newdt != null && newdt.Rows.Count > 0)

{

for (int i = 0; i < newdt.Rows.Count; i++)

{

DataRow NewRow = dt.NewRow();

if (i < newdt.Rows.Count - 1)

{

NewRow["Name"] = newdt.Rows[i]["ClientInfoID"].ToString();

NewRow["ZiGeHao"] = newdt.Rows[i]["ShunXuHao"].ToString();

}

if (i < newdt.Rows.Count - 1)

{

NewRow["Name1"] = newdt.Rows[i + 1]["ClientInfoID"].ToString();

NewRow["ZiGeHao1"] = newdt.Rows[i + 1]["ShunXuHao"].ToString();

}

if (i < newdt.Rows.Count - 2)

{

NewRow["Name2"] = newdt.Rows[i + 2]["ClientInfoID"].ToString();

NewRow["ZiGeHao2"] = newdt.Rows[i + 2]["ShunXuHao"].ToString();

}

i = i + 2;

dt.Rows.Add(NewRow);

}

ReportDocument rptc = new ReportDocument();

string rptFile = Application.StartupPath + "\\ReptXH.rpt";

rptc.Load(rptFile);

rptc.Database.Tables[0].SetDataSource(dt);

this.crystalReportViewer1.ReportSource = rptc;

}

}

catch(Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值