




已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
3.客戶資料管理模塊代碼-窗體功能設(shè)計(jì)-企業(yè)客戶資源管理系統(tǒng)客戶資料管理模塊用來實(shí)現(xiàn)客戶信息的添加、修改、刪除和查找功能。該窗體中使用了公共類OperateAndValidate中的相關(guān)方法分別對(duì)客戶聯(lián)系電話、傳真號(hào)碼、郵編和E-mail地址格式進(jìn)行驗(yàn)證,只有在全部驗(yàn)證都通過時(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ì)象,通過類對(duì)象調(diào)用類中的功能方法,然后聲明3個(gè)保護(hù)類型的全局變量,分別用于表示* SQL語句、數(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 客戶來源,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事件中,通過調(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()方法用來清除與此組件關(guān)聯(lián)的所有錯(cuò)誤 errorCFax.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCPhone.SetError(txtCPhone, 電話號(hào)碼格式不正確); /errorProvider組件的SetError()方法用來設(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()方法來執(zhí)行SQL語句 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枚舉用來指定標(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屬性用來獲取或設(shè)置當(dāng)前處于活動(dòng)狀態(tài)的單元格,RowIndex屬性用來獲取單元格的索引值 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屬性用來獲取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() = 客戶來源) 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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- UX 設(shè)計(jì)師崗位面試問題及答案
- 2025屆河北省秦皇島市一中高二下化學(xué)期末教學(xué)質(zhì)量檢測試題含解析
- 2025屆天津市靜海區(qū)獨(dú)流中學(xué)化學(xué)高二下期末調(diào)研試題含解析
- 村鎮(zhèn)園林項(xiàng)目管理辦法
- 華為運(yùn)動(dòng)啟動(dòng)管理辦法
- 華潤燃?xì)饪冃Ч芾磙k法
- 農(nóng)村代理記賬管理辦法
- 公共綠化區(qū)域管理辦法
- 檢察檔案保密管理辦法
- 多功能復(fù)合創(chuàng)可貼-洞察及研究
- 地下車庫鋼筋方案
- (2023)醫(yī)院收費(fèi)員考試題庫及答案
- GB/T 14454.4-2008香料折光指數(shù)的測定
- 2023年三臺(tái)縣梓豐現(xiàn)代農(nóng)業(yè)發(fā)展有限公司招聘筆試題庫及答案解析
- 員工質(zhì)量意識(shí)的培訓(xùn)課件
- 珊瑚海水鹽標(biāo)準(zhǔn)
- 柴油機(jī)電站操作員(技師)理論考試題庫及答案
- 天津英華插班生考試卷五年級(jí)
- 消防水池 (有限空間)作業(yè)安全告知牌及警示標(biāo)志
- DB33∕642-2019 熱電聯(lián)產(chǎn)能效、能耗限額及計(jì)算方法
- 考試錄用公務(wù)員筆試監(jiān)考工作培訓(xùn)
評(píng)論
0/150
提交評(píng)論