客戶管理系統之模塊設計(八)
關於投訴信息的加入模塊和改動模塊均使用的是一個窗口,其其差別是依據向窗口中所傳遞的參數來實現的,這個模塊的投訴主題,投訴客戶和投訴內容是必填項,當加入時。投訴其主要功能就是向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控件中 顯示有符合條件的數據,如不加條件,則顯示全部數據。
這個模塊在設計投訴管理模塊的時候就已經設計了。這裏就不再多說了。
客戶管理系統之模塊設計(八)