




已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.客戶資料管理模塊代碼-窗體功能設(shè)計(jì)-企業(yè)客戶資源管理系統(tǒng)客戶資料管理模塊用來(lái)實(shí)現(xiàn)客戶信息的添加、修改、刪除和查找功能。該窗體中使用了公共類OperateAndValidate中的相關(guān)方法分別對(duì)客戶聯(lián)系電話、傳真號(hào)碼、郵編和E-mail地址格式進(jìn)行驗(yàn)證,只有在全部驗(yàn)證都通過(guò)時(shí),才可以進(jìn)行客戶信息的添加、修改和保存操作。=公共類BaseOperate.cs和OperateAndValidate.cs源代碼代碼設(shè)計(jì)如下:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace CRM.DataManage public partial class frmClientManage : Form /* 聲明公共類BaseOperate和OperateAndVaildate的兩個(gè)全局對(duì)象,通過(guò)類對(duì)象調(diào)用類中的功能方法,然后聲明3個(gè)保護(hù)類型的全局變量,分別用于表示* SQL語(yǔ)句、數(shù)據(jù)表名和判斷用戶單擊的是“添加”按鈕還是“修改”按鈕,代碼如下:*/ CRM.BaseClass.BaseOperate boperate = new CRM.BaseClass.BaseOperate(); CRM.BaseClass.OperateAndValidate opAndvalidate = new CRM.BaseClass.OperateAndValidate(); protected string M_str_sql = select ClientID as 客戶編號(hào),CName as 客戶名稱,CStep as 客戶等級(jí), + CRoot as 客戶來(lái)源,CTrade as 所屬行業(yè),CType as 客戶類別,CArea as 所在區(qū)域,CPhone as 聯(lián)系電話, + CFax as 傳真號(hào)碼,CPostCode as 郵政編碼,CAddress as 聯(lián)系地址,CEmail as Email地址,CRemark as 備注 from tb_ClientInfo; protected string M_str_table = tb_ClientInfo; protected int M_int_judge; public frmClientManage() InitializeComponent(); /* frmClientManage窗體的Load事件中,通過(guò)調(diào)用公共類OperateAndVaildate中的cboxBind()方法和BaseOperate中的getds()方法分別對(duì)ComboBox控件進(jìn)行數(shù)據(jù)綁定和* 生成一個(gè)DataSet對(duì)象,然后利用生成的DataSet對(duì)象對(duì)DataGridView控件進(jìn)行數(shù)據(jù)綁定。實(shí)現(xiàn)代碼如下:*/ private void frmClientManage_Load(object sender, EventArgs e) opAndvalidate.cboxBind(select AreaName from tb_Area, tb_Area, AreaName, cboxCArea); DataSet myds = boperate.getds(M_str_sql, M_str_table); dgvClientInfo.DataSource = myds.Tables0; if (myds.Tables0.Rows.Count 0) tsbtnDel.Enabled = true; else tsbtnDel.Enabled = false; /* 單擊“添加”按鍵,程序調(diào)用公共類OperateAndVaildate中的autoNum()方法生成一個(gè)新的編號(hào),顯示在“客戶編號(hào)”文本框中,然后將“保存”按鈕的Enable屬性設(shè)置為true,并* 給全局變量“M_int_judge”賦值為0。代碼如下:*/ private void tsbtnAdd_Click(object sender, EventArgs e) opAndvalidate.autoNum(select ClientID from tb_ClientInfo, tb_ClientInfo, ClientID, KH, 1000001, txtClientCode); tsbtnSave.Enabled = true; M_int_judge = 0; ClearText(); /* 單擊“修改”按鈕,將“保存”按鈕的Enabled屬性設(shè)置為true,并給全局變量M_int_judge賦值為1,代碼如下:*/ private void tsbtnEdit_Click(object sender, EventArgs e) tsbtnSave.Enabled = true; M_int_judge = 1; private void tsbtnSave_Click(object sender, EventArgs e) if (M_int_judge = 0) if (txtCName.Text = ) MessageBox.Show(客戶名稱不能為空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else /調(diào)用公共類OperateAndVaildate中的方法對(duì)文本框中的輸入字符串進(jìn)行驗(yàn)證 if (!opAndvalidate.validatePhone(txtCPhone.Text.Trim() /errorProvider組件的Clear()方法用來(lái)清除與此組件關(guān)聯(lián)的所有錯(cuò)誤 errorCFax.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCPhone.SetError(txtCPhone, 電話號(hào)碼格式不正確); /errorProvider組件的SetError()方法用來(lái)設(shè)置指定控件的錯(cuò)誤描述字符串 else if (!opAndvalidate.validateFax(txtCFax.Text.Trim() errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCFax.SetError(txtCFax, 傳真號(hào)碼輸入格式不正確); else if (!opAndvalidate.validatePostCode(txtCPostCode.Text.Trim() errorCFax.Clear(); errorCPhone.Clear(); errorCEmail.Clear(); errorCPostCode.SetError(txtCPostCode, 郵編輸入格式不正確); else if (!opAndvalidate.validateEmail(txtCEmail.Text.Trim() errorCFax.Clear(); errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.SetError(txtCEmail, E-mail地址輸入格式不正確); else errorCFax.Clear(); errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); / 調(diào)用公共類BaseOperate中的getcom()方法來(lái)執(zhí)行SQL語(yǔ)句 boperate.getcom(insert into tb_ClientInfo(ClientID,CName,CStep,CRoot,CTrade,CType, + CArea,CPhone,CFax,CPostCode,CAddress,CEmail,CRemark) values( + txtClientCode.Text.Trim() + , + txtCName.Text.Trim() + , + cboxCStep.Text.Trim() + , + cboxCRoot.Text.Trim() + , + cboxCTrade.Text.Trim() + , + cboxCType.Text.Trim() + , + cboxCArea.Text.Trim() + , + txtCPhone.Text.Trim() + , + txtCFax.Text.Trim() + , + txtCPostCode.Text.Trim() + , + txtCAddress.Text.Trim() + , + txtCEmail.Text.Trim() + , + txtCRemark.Text.Trim() + ); frmClientManage_Load(sender, e); MessageBox.Show(客戶信息添加成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); tsbtnSave.Enabled = false; if (M_int_judge = 1) if (txtCName.Text = ) MessageBox.Show(客戶名稱不能為空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); else if (!opAndvalidate.validatePhone(txtCPhone.Text.Trim() errorCFax.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCPhone.SetError(txtCPhone, 電話號(hào)碼格式不正確); else if (!opAndvalidate.validateFax(txtCFax.Text.Trim() errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCFax.SetError(txtCFax, 傳真號(hào)碼輸入格式不正確); else if (!opAndvalidate.validatePostCode(txtCPostCode.Text.Trim() errorCFax.Clear(); errorCPhone.Clear(); errorCEmail.Clear(); errorCPostCode.SetError(txtCPostCode, 郵編輸入格式不正確); else if (!opAndvalidate.validateEmail(txtCEmail.Text.Trim() errorCFax.Clear(); errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.SetError(txtCEmail, E-mail地址輸入格式不正確); else errorCFax.Clear(); errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); boperate.getcom(update tb_ClientInfo set CName= + txtCName.Text.Trim() + ,CStep= + cboxCStep.Text.Trim() + ,CRoot= + cboxCRoot.Text.Trim() + ,CTrade= + cboxCTrade.Text.Trim() + ,CType= + cboxCType.Text.Trim() + ,CArea= + cboxCArea.Text.Trim() + ,CPhone= + txtCPhone.Text.Trim() + ,CFax= + txtCFax.Text.Trim() + ,CPostCode= + txtCPostCode.Text.Trim() + ,CAddress= + txtCAddress.Text.Trim() + ,CEmail= + txtCEmail.Text.Trim() + ,CRemark= + txtCRemark.Text.Trim() + where ClientID= + txtClientCode.Text.Trim() + ); frmClientManage_Load(sender, e); MessageBox.Show(客戶信息修改成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); tsbtnSave.Enabled = false; /* DataGridView控件中, 選中某客戶信息,單擊“刪除”按鈕,可以將該客戶的相應(yīng)記錄從數(shù)據(jù)表移除。其Click事件代碼如下:*/ private void tsbtnDel_Click(object sender, EventArgs e) try /DialogResult枚舉用來(lái)指定標(biāo)識(shí)符以指示對(duì)話框的返回值 if (MessageBox.Show(確定要?jiǎng)h除該客戶嗎?, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Question) = DialogResult.OK) boperate.getcom(delete from tb_ClientInfo where ClientID= + Convert.ToString(dgvClientInfo0, dgvClientInfo.CurrentCell.RowIndex.Value).Trim() + ); frmClientManage_Load(sender, e); /DialogResult控件的CurrentCell屬性用來(lái)獲取或設(shè)置當(dāng)前處于活動(dòng)狀態(tài)的單元格,RowIndex屬性用來(lái)獲取單元格的索引值 MessageBox.Show(刪除數(shù)據(jù)成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch (Exception ex) MessageBox.Show(ex.Message, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Information); /* 單擊“查找”按鈕,程序根據(jù)用戶選擇的查詢條件和輸入的查詢關(guān)鍵字,執(zhí)行客戶信息查找操作。其Click事件代碼如下:*/ private void tsbtnLook_Click(object sender, EventArgs e) try if (tstxtKeyWord.Text = ) frmClientManage_Load(sender, e); if (tscboxCondition.Text.Trim() = 客戶編號(hào)) /調(diào)用公共類BaseOperate中的getds()方法生成一個(gè)DataSet數(shù)據(jù)集對(duì)象 DataSet myds = boperate.getds(M_str_sql + where ClientID like % + tstxtKeyWord.Text.Trim() + %, M_str_table); if (myds.Tables0.Rows.Count 0) /DataSet.Tablesindex.Rows.Count屬性用來(lái)獲取DataSet數(shù)據(jù)集中包含表的行數(shù)目 dgvClientInfo.DataSource = myds.Tables0; else MessageBox.Show(沒有要查找的相關(guān)記錄!); if (tscboxCondition.Text.Trim() = 客戶名稱) DataSet myds = boperate.getds(M_str_sql + where CName like % + tstxtKeyWord.Text.Trim() + %, M_str_table); if (myds.Tables0.Rows.Count 0) dgvClientInfo.DataSource = myds.Tables0; else MessageBox.Show(沒有要查找的相關(guān)記錄!); if (tscboxCondition.Text.Trim() = 客戶來(lái)源) DataSet myds = boperate.getds(M_str_sql + where CRoot like % + tstxtKeyWord.Text.Trim() + %, M_str_table); if (myds.Tables0.Rows.Count 0) dgvClientInfo.DataSource = myds.Tables0; else MessageBox.Show(沒有要查找的相關(guān)記錄!); if (tscboxCondition.Text.Trim() = 所屬行業(yè)) DataSet myds = boperate.getds(M_str_sql + where CTrade like % + tstxtKeyWord.Text.Trim() + %, M_str_table); if (myds.Tables0.Rows.Count 0) dgvClientInfo.DataSource = myds.Tables0; else MessageBox.Show(沒有要查找的相關(guān)記錄!); catch (Exception ex) MessageBox.Show(ex.Message, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); private void tsbtnRClient_Click(object sender, EventArgs e) CRM.DataManage.frmRClient dmFRC = new frmRClient(); dmFRC.ShowDialog(); /以對(duì)話框模式顯示聯(lián)系客戶窗體 private void tsbtnExit_Click(object sender, EventArgs e) this.Close(); private void dgvClientInfo_CellClick(object sender, DataGridViewCellEventArgs e) txtClientCode.Text = Convert.ToString(dgvClientInfo0, dgvClientInfo.CurrentCell.RowIndex.Value).Trim(); txtCName.Text = Convert.ToString(dgvClientInfo1, dgvClientInfo.CurrentCell.RowIndex.Value).Trim(); cboxCStep.Text = Convert.ToString(dgvClientInfo2, dgvClientInfo.CurrentCell.RowIndex.Value).Trim(); cboxCRoot.Text = Convert.ToString(dgvClientInfo3, dgvClientInfo.CurrentCell.RowIndex.Value).Trim(); cboxCTrade.Text = Convert.ToString(dgvClientInfo4, dgvClientInfo.CurrentCell.RowIndex.Value).Trim(); cboxCType.Text = Convert.ToString(dgvClientInfo5, dgvClie
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年地理學(xué)專業(yè)研究生入學(xué)考試試卷及答案
- 2025年非全日制研究生入學(xué)考試試題及答案
- 建筑工程項(xiàng)目設(shè)計(jì)及施工合作協(xié)議
- 分析零售業(yè)的客戶細(xì)分市場(chǎng)及其營(yíng)銷策略
- 快遞代收代派管理協(xié)議書
- 農(nóng)業(yè)智能化種植管理技術(shù)服務(wù)協(xié)議
- 2025年木工鋸機(jī)項(xiàng)目提案報(bào)告模板
- 2025年輕小型起重設(shè)備項(xiàng)目申請(qǐng)報(bào)告
- 2025年德語(yǔ)TestDaF口語(yǔ)模擬試卷:歷年真題與模擬測(cè)試
- 2025年抗艾滋病用藥項(xiàng)目提案報(bào)告
- 2025年 云南省危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全管理人員考試練習(xí)題附答案
- 美發(fā)師五級(jí)試題及答案
- 2024-2025學(xué)年四年級(jí)(下)期末數(shù)學(xué)試卷及答案西師大版2
- 2025-2030年中國(guó)釹鐵硼永磁材料行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)高導(dǎo)磁芯行業(yè)深度研究分析報(bào)告
- 宣城市宣州區(qū)“政聘企培”人才引進(jìn)筆試真題2024
- 遠(yuǎn)程胎心監(jiān)護(hù)數(shù)據(jù)解讀
- 2025年 道路運(yùn)輸企業(yè)主要負(fù)責(zé)人考試模擬試卷(100題)附答案
- 2025至2030中國(guó)執(zhí)法系統(tǒng)行業(yè)經(jīng)營(yíng)效益及前景運(yùn)行態(tài)勢(shì)分析報(bào)告
- 2025年全國(guó)法醫(yī)專項(xiàng)技術(shù)考試試題及答案
- 供應(yīng)鏈公司展會(huì)策劃方案
評(píng)論
0/150
提交評(píng)論