客户管理系统之模块设计(八)

         2,加入信息投诉和改动投诉信息模块

        关于投诉信息的加入模块和改动模块均使用的是一个窗口,其其差别是依据向窗口中所传递的參数来实现的,这个模块的投诉主题,投诉客户和投诉内容是必填项,当加入时。投诉其主要功能就是向CustomerManagement数据库的inform数据表中插入服务的基本信息。当更改投诉信息时,其基本的功能就是更改CustomerManagement数据库中的inform数据表中的一条数据记录。

         加入或改动投诉模块的演示样例:

 

        (1)载入公共类和创建ID属性。代码为:

common cm = new common();//载入公共类common
        database db = new database();//载入公共类database

        private int _id;
        public int ID//ID属性用于区分是加入还是改动投诉信息
        {
            get//取属性值
            {
                return _id;
            }
            set
            {
                _id = value;//设置属性值
            }
        }

        加入ID属性,这个属性很重要,它用来区分是加入投诉信息,还是改动投诉信息。

        (2)编写依据ID显示服务信息的代码为:

      private void showChildren3(int t)//依据ID显示投诉信息
        {
            SqlDataReader dr;
            db.runSql("select * from inform where id=" + t, out dr);
            if (dr.Read())//显示出投诉信息
            {
                tbTitle.Text = dr["title"].ToString();
                tbClient.Text = dr["client"].ToString();
                cm.cbbIndexByText(cbbType, dr["types"].ToString());
                cm.cbbIndexByText(cbbMode, dr["mode"].ToString());
                dtpTime.Value = DateTime.Parse(dr["inform_time"].ToString());
                cm.cbbIndexByText(cbbObject, dr["inform_object"].ToString());
                tbContent.Text = dr["inform_content"].ToString();
                dtpAddTime.Value = DateTime.Parse(dr["addTime"].ToString());
            }
            else
            {
                MessageBox.Show("你所要改动的项不存在,系统将关闭此窗口!

"); Close(); } dr.Close(); }

         完整窗口代码为:

using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;//引入的命名空间

namespace 客户管理系统
{
    public partial class addChildren3 : Form
    {
        common cm = new common();//载入公共类common
        database db = new database();//载入公共类database

        private int _id;
        public int ID//ID属性用于区分是加入还是改动投诉信息
        {
            get//取属性值
            {
                return _id;
            }
            set
            {
                _id = value;//设置属性值
            }
        }

        public addChildren3()//构造函数
        {
            InitializeComponent();
        }

        private void btn_close_Click(object sender, EventArgs e)//关闭button的Click事件
        {
            Close();//关闭窗口
        }

        private void addChildren3_Load(object sender, EventArgs e)
        {
            try
            {
                cbbType.SelectedIndex = 0;//选择第一项
                cbbMode.SelectedIndex = 0;//选择第一项
                cbbObject.SelectedIndex = 0;//选择第一项
                if (_id != 0)
                {
                    Text = "投诉管理信息改动";//设置窗口标签
                    btn_add.Text = "改动";//设置button标签
                    showChildren3(_id);//显示数据
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());//显示出错信息
            }
        }

        private void showChildren3(int t)//依据ID显示投诉信息
        {
            SqlDataReader dr;
            db.runSql("select * from inform where id=" + t, out dr);
            if (dr.Read())//显示出投诉信息
            {
                tbTitle.Text = dr["title"].ToString();
                tbClient.Text = dr["client"].ToString();
                cm.cbbIndexByText(cbbType, dr["types"].ToString());
                cm.cbbIndexByText(cbbMode, dr["mode"].ToString());
                dtpTime.Value = DateTime.Parse(dr["inform_time"].ToString());
                cm.cbbIndexByText(cbbObject, dr["inform_object"].ToString());
                tbContent.Text = dr["inform_content"].ToString();
                dtpAddTime.Value = DateTime.Parse(dr["addTime"].ToString());
            }
            else
            {
                MessageBox.Show("你所要改动的项不存在,系统将关闭此窗口。");
                Close();
            }
            dr.Close();
        }

        private void btn_add_Click(object sender, EventArgs e)
        {
            if (tbTitle.Text.Trim().Length<=0)//推断是否输入主题
            {
                MessageBox.Show("请输入投诉主题!");
                tbTitle.Focus();//获取焦点
                btn_add.DialogResult = DialogResult.None;
                return;
            }
            if (tbClient.Text.Trim().Length<=0)//推断是否选择投诉客户
            {
                MessageBox.Show("请选择投诉客户!

"); tbClient.Focus();//获取焦点 btn_add.DialogResult = DialogResult.None; return; } if (tbContent.Text.Trim().Length<=0)//推断是否输入内容 { MessageBox.Show("请输入投诉内容!"); tbContent.Focus();//获取焦点 btn_add.DialogResult = DialogResult.None; return; } string sql = ""; string Rstatus = "加入"; if (_id==0)//加入投诉信息的字符串 { sql="insert into inform(title,client,types,mode,inform_time,inform_object,inform_content,addTime)values" +"('"+tbTitle.Text.Trim()+"','"+tbClient.Text.Trim()+"','"+cbbType.Text+"','"+cbbMode.Text+"','"+dtpTime.Value+ "','"+cbbObject.Text+"','"+tbContent.Text.Trim()+"','"+dtpAddTime.Value+"')"; } else//改动投诉信息的字符串 { Rstatus="改动"; sql="update inform set title='"+ tbTitle.Text.Trim()+"',client='"+ tbClient.Text.Trim()+"',types='"+ cbbType.Text+"',mode='"+ cbbMode.Text+"',inform_time='"+ dtpTime.Value+"',inform_object='"+ cbbObject.Text.Trim()+"',inform_content='"+ tbContent.Text.Trim()+"',addTime='"+ dtpAddTime.Value+"'where id="+_id; } db.runSql(sql);//运行sql语句 MessageBox.Show(Rstatus+"成功!

"); } private void btn_select_Click(object sender, EventArgs e) { ClientSelect cs3 = new ClientSelect();//创建ClientSelect窗口对象 DialogResult result = cs3.ShowDialog( );//打开 if (result == DialogResult.OK) { tbClient.Text = cs3.Person;//返回选择客户名称 } } } }

         执行整个程序的结果为:

 

         加入投诉窗口:

 

         改动投诉信息资料窗口:

 

         3,浏览模块设计

       有关投诉管理浏览模块设计,主要是依据查询条件,在DataGridView控件中 显示有符合条件的数据,如不加条件,则显示全部数据。

这个模块在设计投诉管理模块的时候就已经设计了。这里就不再多说了。

        

   

原文地址:https://www.cnblogs.com/cxchanpin/p/6889089.html