




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.1伟大的改革开放(教学设计)2024-2025学年高一政治上学期同步教学教学设计+教学设计+练习(统编版必修1)
- 股份有限公司拆分合同6篇
- 6.3.2角的比较与运算第1课时角的比较与运算说课稿 2024-2025学年人教版(2024)数学七年级上册
- 高中信息技术 算法与程序设计-选择结构说课稿 教科版
- 1.2 有理数及其大小比较说课稿2024-2025学年人教版数学七年级上册
- 浙教版信息技术八上第2课《 常用数据类型》说课稿3
- 2025公司员工详细劳动合同样本
- 2025年的技术服务合同将如何塑造未来合同的样貌
- 2025中国员工劳务劳动合同范本
- 化肥厂化肥出口检验细则
- 农业现代化种植技术培训课件
- 中城汽车(山东)有限公司审计报告
- 大学博士竞赛试题及答案
- 钢结构彩钢瓦施工工艺与技术交底
- 2025版煤矿安全规程宣贯培训课件
- 梁启超家教家风课件
- 第5课 我们说方言教学设计-2025-2026学年小学地方、校本课程浙教版(2024)人·自然·社会
- (2025秋新版)青岛版科学三年级上册全册教案
- 顾客联络服务 人工与智能客户服务协同要求 编制说明
- 2025年全国通信专业技术人员职业水平考试(通信专业实务·传输与接入·无线)历年参考题库含答案详解(5套)
- DB31∕T 1545-2025 卫生健康数据分类分级要求
评论
0/150
提交评论