已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
3.客户资料管理模块代码-窗体功能设计-企业客户资源管理系统客户资料管理模块用来实现客户信息的添加、修改、删除和查找功能。该窗体中使用了公共类OperateAndValidate中的相关方法分别对客户联系电话、传真号码、邮编和E-mail地址格式进行验证,只有在全部验证都通过时,才可以进行客户信息的添加、修改和保存操作。=公共类BaseOperate.cs和OperateAndValidate.cs源代码代码设计如下: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的两个全局对象,通过类对象调用类中的功能方法,然后声明3个保护类型的全局变量,分别用于表示* SQL语句、数据表名和判断用户单击的是“添加”按钮还是“修改”按钮,代码如下:*/ CRM.BaseClass.BaseOperate boperate = new CRM.BaseClass.BaseOperate(); CRM.BaseClass.OperateAndValidate opAndvalidate = new CRM.BaseClass.OperateAndValidate(); protected string M_str_sql = select ClientID as 客户编号,CName as 客户名称,CStep as 客户等级, + CRoot as 客户来源,CTrade as 所属行业,CType as 客户类别,CArea as 所在区域,CPhone as 联系电话, + CFax as 传真号码,CPostCode as 邮政编码,CAddress as 联系地址,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事件中,通过调用公共类OperateAndVaildate中的cboxBind()方法和BaseOperate中的getds()方法分别对ComboBox控件进行数据绑定和* 生成一个DataSet对象,然后利用生成的DataSet对象对DataGridView控件进行数据绑定。实现代码如下:*/ 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; /* 单击“添加”按键,程序调用公共类OperateAndVaildate中的autoNum()方法生成一个新的编号,显示在“客户编号”文本框中,然后将“保存”按钮的Enable属性设置为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属性设置为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 /调用公共类OperateAndVaildate中的方法对文本框中的输入字符串进行验证 if (!opAndvalidate.validatePhone(txtCPhone.Text.Trim() /errorProvider组件的Clear()方法用来清除与此组件关联的所有错误 errorCFax.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCPhone.SetError(txtCPhone, 电话号码格式不正确); /errorProvider组件的SetError()方法用来设置指定控件的错误描述字符串 else if (!opAndvalidate.validateFax(txtCFax.Text.Trim() errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCFax.SetError(txtCFax, 传真号码输入格式不正确); 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(); / 调用公共类BaseOperate中的getcom()方法来执行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, 电话号码格式不正确); else if (!opAndvalidate.validateFax(txtCFax.Text.Trim() errorCPhone.Clear(); errorCPostCode.Clear(); errorCEmail.Clear(); errorCFax.SetError(txtCFax, 传真号码输入格式不正确); 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控件中, 选中某客户信息,单击“删除”按钮,可以将该客户的相应记录从数据表移除。其Click事件代码如下:*/ private void tsbtnDel_Click(object sender, EventArgs e) try /DialogResult枚举用来指定标识符以指示对话框的返回值 if (MessageBox.Show(确定要删除该客户吗?, 提示, 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属性用来获取或设置当前处于活动状态的单元格,RowIndex属性用来获取单元格的索引值 MessageBox.Show(删除数据成功!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Information); catch (Exception ex) MessageBox.Show(ex.Message, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Information); /* 单击“查找”按钮,程序根据用户选择的查询条件和输入的查询关键字,执行客户信息查找操作。其Click事件代码如下:*/ private void tsbtnLook_Click(object sender, EventArgs e) try if (tstxtKeyWord.Text = ) frmClientManage_Load(sender, e); if (tscboxCondition.Text.Trim() = 客户编号) /调用公共类BaseOperate中的getds()方法生成一个DataSet数据集对象 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数据集中包含表的行数目 dgvClientInfo.DataSource = myds.Tables0; else MessageBox.Show(没有要查找的相关记录!); 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(没有要查找的相关记录!); 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(没有要查找的相关记录!); if (tscboxCondition.Text.Trim() = 所属行业) 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(没有要查找的相关记录!); 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(); /以对话框模式显示联系客户窗体 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等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年防静电设备创新应用案例分析报告
- 2026年绿色建筑与可持续性设计分析报告
- 2026年铁基记忆合金市场创新策略研究报告
- 2026年人工智能辅助检察决策系统实践
- 2026年国企薪酬绩效岗位模拟试题库及答案
- 塔吊维修考试题目及答案分享
- 2026年广播影视从业人员业务知识考核模拟试题库及答案
- 瑜伽推拿测验试题及答案解析
- 理论考试题目讲解题及答案
- 地基软土换填处理专项施工方案
- 新课标(水平三)体育与健康《篮球》大单元教学计划及配套教案(18课时)
- 矿山井巷施工施工组织设计方案
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- 虚拟电厂整体解决方案
- 批判性思维智慧树知到期末考试答案章节答案2024年浙江大学
- 《工程建设标准强制性条文电力工程部分2023版》
- 大脑动脉狭窄脑梗死的护理查房
- 《噪声敏感建筑物集中区域划分技术规范》编制说明
- 眼科科护士视力检查的实用技术和操作技巧
- 安徽省综合评标评审专家入库、续聘考试试题
- 【新能源汽车充电桩控制系统设计11000字(论文)】
评论
0/150
提交评论