企业员工信息报表系统测试方案报告课程系统:企业员工信息报表系统课程小组:第十小组小组成员:肖旭杰(101104034)、张文清(101104048)1.概述1.1设计题目企业员工信息报表系统1.2设计目的帮助用户快速掌握原始数据中的基本元素和关系,以便有效迅速的进行决策。
1.3设计背景简介现今社会任何一个组织和集体,都离不开高效的管理,而作为一个企业尤为重要—高效的管理。
而报表是企业各个方面,各个部门都要所涉及的,把它做成系统,让企业员工更好的应用,达到更高效的管理与应用。
报表已成为一个不可或缺的工具。
作为一种管理工具,目的在于帮助用户快速掌握原始数据中的基本元素和关系,以便有效迅速的进行决策。
2. 需求分析2.1系统概述本系统分为前台界面部分和后台数据库部分,前台界面部分的主界面是水晶报表查看器,在主界面上可以调出水晶报表,并完成对数据库插入等操作,从而实现交互过程。
前台界面部分采用C#语言实现,水晶报表也是在.NET平台下用C#实现,水晶报表取得数据采用Push 模式。
后台数据库采用SQL Server 2005。
2.2系统主要功能设计2.3系统的主要功能1)选择报表:用户需要选择所建立的报表类型2)生成报表:用户可以进行插入数据、删除数据等操作3)保存报表4)更新报表5)删除报表2.4性能需求(1) 硬件:CPU:内存:512M(2) 软件:操作系统:Window XP、Window 7数据库:SQL Server 2005。
(3) 运行环境:浏览器:IE6.0 以上分辨率:1024*7683. 测试计划测试类型包括:a、功能测试b、界面测试c、可靠性和安全性测试using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Companyreport{public partial class Form2 : Form{public Form2(){InitializeComponent();// 定义dataset1类的对象实例myset用作报表数据远DataSet1 myset = new DataSet1();//连接数据库SqlConnection Sqlcnn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;" + "InitializeComponent Catalog=companyreport");//将从数据库的Employee表中选出的所有数据放置在myset的名为Employee表中string sqlstr = "select*from Employee";SqlDataAdapter myadapter = newDataAdater(sqlstr, Sqlcnn);myadapter.Fill(myset, "Employee");string sqlstr1 = "select*from Department";SqlDataAdatper myadapter1 = new SqlDataAdapter(sqlstr1, Sqlcnn);//将从数据库的Department表中选出的所有数据放置在myset的名为Department表中 myadapter1.Fill(myset, "Department");CrystalReport1 myrpt = new CrystalReport1();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;}private void Form2_Load(object sender, EventArgs e){}}}private void button1_Click(object sender, EventArgs e){int Dep_Num;string Dep_Name;string Dep_Head;//判断必须输入的信息已输入之后再给变量赋值if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox3.Text != "")) {Dep_Num = Int32.Parse(textBox1.Text);Dep_Name = textBox2.Text;Dep_Head = textBox3.Text;}else{MessageBox.Show("请输入完整的信息!");return;}string Dep_Des = textBox4.Text;//向数据库中插入一条记录的语句string sql = String.Format("insert intoDepartment(Dep_Number,Dep_Name,Dep_Head,Dep_Des)values('{0}','{1}','{2}','{3}')", Dep_Num, Dep_Name, Dep_Head, Dep_Des);SqlConnection sqlcnn = new SqlConnection("Data Source =localhost;Integrated Security=SSPI;" + "Initial Catalog = company");try{//打开数据库sqlcnn.Open();SqlCommand cmd = new SqlCommand(sql, sqlcnn);// 执行插入操作,并返回受影响的行数int i = cmd.ExecuteNonQuery();//如果受影响的行数小于一则说明操作失败了if (i < 1)MessageBox.Show("操作失败!");//关闭数据库sqlcnn.Close();}catch (Exception er){string temp = er.Message.ToString();return;}MessageBox.Show("数据已录入!");}private void button2_Click(object sender, EventArgs e){string Em_Number;string Em_Name;int Em_Age;int Dep_Number;//判断必须输入的信息已输入之后再给变量赋值if ((textBox5.Text != "") && (textBox6.Text != "") && (textBox7.Text != "") && (textBox8.Text != "")){Em_Number = textBox5.Text;Em_Name = textBox6.Text;Em_Age = Int32.Parse(textBox7.Text);Dep_Number = int32.Parse(textBox8.Text);}else{MessageBox.Show("请输入完整的信息!");return;}string check = String.Format("select Dep_Number from Department whereDep_Number={0}", Dep_Number);string sql = String.Format("insert intoEmployee(Em_Number,Em_Name,Em_Age,Dep-Number)values('{0}','{1}',{2},{3})", Em_Number,Em_Namge, Em_Age, Dep_Number);SqlConnection sqlcnn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;" + "Initial Catalog=Company");try{sqlcnn.Open();SqlCommand cmd = new SqlCommand(check, sqlcnn);SqlDataReader MyDataReader = cmd.ExecuteReader();if (!MyDataReader.Read()){MessageBox.Show("目前没有这个部门!");MyDataReader.Close();sqlcnn.Close();return;}MyDataReader.Close();SqlCommand cmd1 = new SqlCommand(sql.sqlcnn);//执行插入操作,并返回受影响的行数int j = cmd1.ExecuteNonQery();//如果受影响的行数小于一则说明操作失败了if (j < 1){MessageBox.Show("操作失败!");sqlcnn.Close();}sqlcnn.Close();}catch (Exception er){string temp = er.Message.ToString();sqlcnn.Close();return;}MessageBox.Show("录入成功!");}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){select=comboBox1.SelectedText.ToString();DataSet1 myset=new DataSet1();SqlConnection sqlcnn = new SqlConnection("Data Source=localhost;Integrated Security=SSPI;" + "Initial Catalog=company");string sqlstr = "select*from Employee";SqlDataAdapter myadapter = new SqlDataAdapter(sqlstr, sqlcnn);myadapter.Fill(myset, "Employee");sqlstr = "select*from Department";SqlDataAdapter myadapter1 = new SqlDataAdapter(sqlstr, sqlcnn);myadapter1.Fill(myset, "Department");//根据选择到的不同字符串对报表的数据惊醒绑定switch (Int32.Parse(comboxBox1.SelectedIndex.ToString())) {//选择水晶报表1case 0:{CrystalReport1 myrpt = new MyRpe1();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;private void Form1_Load(object sender, EventArgs e){}break;}//选择水晶报表2case 1:{CrystalReport1 myrpt = new MyRpe2();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;break;}//选择水晶报表3case 2:{CrystalReport1 myrpt = new MyRpe3();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;break;}//选择水晶报表4case 3:{CrystalReport1 myrpt = new MyRpe4();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;break;}//选择水晶报表5case 4:{CrystalReport1 myrpt = new MyRpe5();myrpt.SetDataSource(myset);crystalReportViewer1.ReportSource = myrpt;break;}}}}}}}}。