C#:项目三 基金信息管理系统

 

本项目主要让学生学习"编程方式实现DataSet原理"和"水晶报表的动态显示"

(一)数据库设计

细节:

  1. 检查主从表的主(外)键的类型与长度要一致
  2. 添加记录时,按主表---->从表的顺序  (想一想为什么?)

 

(二)主界面设计

(三)数据源设计

细节:

  1. 此表在设计时应参照数据库表中的字段,注意C#数据类型和SQL数据类型的对应性
  2. 在运行时,此表的实例将成为内存(虚拟)表,接受数据的维护

(四)报表设计

细节:

  1. 交叉表的基本知识可以参考EXCEL中的"数据透视表"
  2. 注意行/列/汇总部分的字段拖放的位置和效果

(五)报表界面设计

细节:

  1. 这些名称主要是数据表中基金名称
  2. 这些都是设计时设置的,如何能实现动态从表中读出基金名称并显示出来呢?

........

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();
        }

 

 

一、系统说明 | ----------------------------------- 本系统是在Microsoft Visual Studio 2003环境下用C#语言编写的个人信息管理系统。 其主要功能有: ------------- 1.文章管理模块  (1)用户发表新文章,可以将文章设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的文章。 (2)用户可以新建文章分类,在文章查询时,文章分类可以做为查询的一个依据。 (3)用户可以查询本人的所有文章,也可以查询其它用户公开的文章,查询条件可以为: 根据文章标题、内容、文章类别、发表时间、修改时间、用户名。 (4)用户可以删除、修改、改变文章是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 2.日记管理模块 (1)用户发表新日记,可以将日记设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的日记。 (2)用户可以新建日记分类。 (3)用户可以查询本人的所有日记,也可以查询其它用户公开的日记,查询条件可以为: 根据日记标题、内容、类别、发表时间、修改时间、用户名、心情、天气。 (4)用户可以删除、修改、改变日记是否公开、导出为WORD,但对于其它用户的文章,这些功能有所限制。 -------------- 3.相册管理模块 (1)用户可以上传新图片,可以将图片设为公开或不公开,如果设置为公开的,则所 有使用本系统的用户都可以浏览到你的图片。 (2)用户可以新建相册分类。 (3)用户可以浏览本人的所有图片,以及其它用户公开的图片。 (4)用户可以删除、更新、导出图片,但对于其它用户的图片,这些功能有所限制。 -------------- 4.备忘管理模块 (1)用户可以写新备忘,可以设置备忘提醒时间、是否提醒、备忘分类、紧急程度、查看阴阳历。 (2)用户可以新建备忘分类。 (3)用户可以查询本人的所有备忘,查询条件有:备忘标题、内容、提醒时间、是否完成、紧急程度、备忘分类。 (4)用户可以删除、更新备忘。 -------------- 5.费用管理模块 (1)用户可以写新费用,可以填写费用名称,说明,数量,单价。 (2)用户可以查询本人的所有费用,可以统计查询到的费用情况,并可以将查询记录导出到EXCEL中保存。 (3)用户可以删除、修改费用。 ---------------------------- 6.信息管理模块 (1) 用户可以更改密码。 (2) 提供管理日常联系人的信息功能,可以批量从EXCEL中导入联系人,也可以批量导出联系人。 ---------------------------- |
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值