C#:项目三 基金信息管理系统
来源:互联网 发布:java菜单功能管理系统 编辑:程序博客网 时间:2024/05/01 02:24
本项目主要让学生学习"编程方式实现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++)
- C语言小项目(学生信息管理系统)
- C小项目 —— 学生信息管理系统
- 学生信息管理系统(c/c++)
- 学生信息管理系统(三)
- 【学生信息管理系统】总结三
- 学生信息管理系统(三)
- 项目总结| 学生信息管理系统
- 人员信息管理系统(C源代码)
- 学生信息管理系统C实现
- C语言学生信息管理系统
- c语言学生信息管理系统
- 学生信息管理系统(c++)
- 学生信息管理系统 c语言
- 【转贴】图像、帧、片、NALU
- 今天很郁闷!~
- SQL收集
- 程序状态字
- 偶的C++ Primer到了,开始啃砖头喽~~~~
- C#:项目三 基金信息管理系统
- Scott Mitchell 的ASP.NET 2.0数据教程之三:母板页和站点导航
- 静态链接库
- JAVA如何调用DOS命令
- TOSSIM仿真实现过程
- 微处理器M68000的程序状态字
- 链接器都干了些什么?(转载)
- 在Windows桌面无缝运行Linux程序
- 存储器的类型