本项目主要让学生学习"编程方式实现DataSet原理"和"水晶报表的动态显示"
(一)数据库设计
细节:
- 检查主从表的主(外)键的类型与长度要一致
- 添加记录时,按主表---->从表的顺序 (想一想为什么?)
(二)主界面设计
(三)数据源设计
细节:
- 此表在设计时应参照数据库表中的字段,注意C#数据类型和SQL数据类型的对应性
- 在运行时,此表的实例将成为内存(虚拟)表,接受数据的维护
(四)报表设计
细节:
- 交叉表的基本知识可以参考EXCEL中的"数据透视表"
- 注意行\列\汇总部分的字段拖放的位置和效果
(五)报表界面设计
细节:
- 这些名称主要是数据表中基金名称
- 这些都是设计时设置的,如何能实现动态从表中读出基金名称并显示出来呢?
........
using System.Data.SqlClient; //自定义方法myDataView()会用到其中的类:SqlConnection、SqlDataAdapter
在此窗体类中,,输入以下代码:
DataView dv;
private void btnReport_Click(object sender, EventArgs e)
{
CRFundCross crFundCross = new CRFundCross();
DSCrossTable dsCrossTable = new DSCrossTable();
string chooseString = "";
if (checkBox1.Checked) chooseString = chooseString + "基金简称='" + checkBox1.Text.Trim()+"'";
if (checkBox2.Checked) chooseString = chooseString + " or " +"基金简称='" + checkBox2.Text.Trim() + "'";
if (checkBox3.Checked) chooseString = chooseString + " or " + "基金简称='" + checkBox3.Text.Trim() + "'";
if (checkBox4.Checked) chooseString = chooseString + " or " + "基金简称='" + checkBox4.Text.Trim() + "'";
if (checkBox5.Checked) chooseString = chooseString + " or " + "基金简称='" + checkBox5.Text.Trim() + "'";
if (chooseString == "")
{
MessageBox.Show("请选择要显示的字段!");
return;
}
if (chooseString.StartsWith(" or ")) chooseString = chooseString.Substring(4, chooseString.Length - 4);
dv.RowFilter = chooseString; //RowFilter 属性可以根据chooseString过滤数据
foreach (DataRowView drv in dv)
{
DataRow dr = dsCrossTable.Tables["DTFund"].NewRow();
dr[0] = drv[0];
dr[1] = drv[1];
dr[2] = drv[2];
dsCrossTable.Tables["DTFund"].Rows.Add(dr);
}
crvResult.Refresh();
crFundCross.SetDataSource(dsCrossTable.Tables["DTFund"]);
crvResult.ReportSource = crFundCross;
}
private DataView myDataView()
{
DataSet ds = new DataSet();
string connString = "Data Source=.;Initial Catalog=Test;User ID=sa";
string sqlString = "select 帐号,基金简称,购进数量 from 基金买入 a,基金 b where a.基金代码=b.基金代码";
SqlConnection sqlConn = new SqlConnection(connString);
SqlDataAdapter sqlDA = new SqlDataAdapter(sqlString, sqlConn);
sqlDA.Fill(ds,"Fund");
return ds.Tables["Fund"].DefaultView;
}
private void frmCrossTableCReport_Load(object sender, EventArgs e)
{
dv = myDataView();
}
(六)其它代码编写与运行调试
窗体调用代码:
private void 交叉表ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmCrossTableCReport myfrmCrossTableCReport = new frmCrossTableCReport();
myfrmCrossTableCReport.MdiParent = this;
myfrmCrossTableCReport.Show();
}
分享到:
相关推荐
C#毕业设计-医院信息管理系统。已获老师指导通过项目。 C#毕业设计-医院信息管理系统。已获老师指导通过项目。C#毕业设计-医院信息管理系统。已获老师指导通过项目。C#毕业设计-医院信息管理系统。已获老师指导通过...
C#期末大项目-信息管理系统,SQLserver数据库,项目C#期末大项目-信息管理系统,SQLserver数据库,项目C#期末大项目-信息管理系统,SQLserver数据库,项目C#期末大项目-信息管理系统,SQLserver数据库,项目C#期末大项目-...
C#课件:c#酒店客房信息管理系统.ppt
技术点:C# windows、sqlserver、三层架构、增删查改 系统功能概述:主要功能实现学生信息的增删查改。细分如下: 1.实现管理员登录和注册。 2.实现管理员密码和信息修改。 3.实现管理员对学生信息的添加录入。 4....
用例2:管理员登录 用例3:显示菜单功能 用例4:显示QQ用户全部信息功能 用例5:更新在线天数 用例6:添加用户 用例7:更新用户等级 检索用户编号和在线天数 等级判定 更新用户信息 用例8:删除用户 用例9...
基于ASP.NET的C#学生信息管理系统源码+数据库+开发文档+使用说明.zip 已获导师指导并通过的高分项目。下载即用,无需修改。本项目是一套基于ASP.NET的C#学生信息管理系统,主要针对计算机相关专业的正在做毕设的学生...
以C#为开发语言,利用三层架构思想开发的学生信息管理系统。功能包括: (1)登录模块 (2)班级管理-添加记录-修改记录-删除记录-查询记录 (3)学生管理-添加记录-修改记录-删除记录-查询记录 (4)科目管理-添加...
项目模拟实现QQ用户信息管理系统,实现以下功能: 1.管理员登陆 2:查看QQ用户信息 3:更新QQ用户 4:添加QQ新用户记录 5:删除制定的QQ用户记录
C#课件:基于C#的学生信息管理系统.ppt
是个C#课程设计的题目 用来编写教师信息管理系统 有很好看的菜单界面
C#课件:考勤信息管理系统.ppt
C#开发课程设计停车场管理系统项目源代码C#开发课程设计停车场管理系统项目源代码C#开发课程设计停车场管理系统项目源代码C#开发课程设计停车场管理系统项目源代码C#开发课程设计停车场管理系统项目源代码。...
C# .NET基金交易管理系统源码+论文asp.net
C#课件:C#酒店客房管理系统的开发答辩.ppt
C#课件:医院管理信息系统.ppt
基于C#的学生信息管理系统
学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统(C#+SQL)学生信息管理系统...
C#系统项目参考-餐饮管理系统C#系统项目参考-餐饮管理系统
用C#做的一个学生综合信息管理系统, 在高校中由于学生众多,学籍信息量庞大,需要一个合理的软件平台来将信息整理保存。所以各个高校都有自己的学生个人信息系统便于学生及校方信息存放,并且双方能够通过此平台更...