OperateAndValidate.cs 操作验证
2013-03-19 22:41
246 查看
using System;
using System.Data;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
//TableLogOnInfo
namespace CRM.BaseClass
{
internal class OperateAndValidate
{
private readonly BaseOperate boperate = new BaseOperate(); //声明BaseOperate类的一个对象,以调用其方法
#region 绑定ComboBox控件
/// <summary>
/// 对ComboBox控件进行数据绑定
/// </summary>
/// <param name="P_str_sqlstr"> SQL语句 </param>
/// <param name="P_str_table"> 表名 </param>
/// <param name="P_str_tbMember"> 数据表中字段名 </param>
/// <param name="cbox"> ComboBox控件ID </param>
public void cboxBind(string P_str_sqlstr, string P_str_table, string P_str_tbMember, ComboBox cbox)
{
DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
cbox.DataSource = myds.Tables[P_str_table];
cbox.DisplayMember = P_str_tbMember;
}
#endregion
#region 验证输入字符串为数字
/// <summary>
/// 验证输入字符串为数字
/// </summary>
/// <param name="P_str_num"> 输入字符 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateNum(string P_str_num)
{
return Regex.IsMatch(P_str_num, "^[0-9]*$");
}
#endregion
#region 验证输入字符串为电话号码
/// <summary>
/// 验证输入字符串为电话号码
/// </summary>
/// <param name="P_str_phone"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validatePhone(string P_str_phone)
{
return Regex.IsMatch(P_str_phone, @"\d{3,4}-\d{7,8}");
}
#endregion
#region 验证输入字符串为传真号码
/// <summary>
/// 验证输入字符串为传真号码
/// </summary>
/// <param name="P_str_fax"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateFax(string P_str_fax)
{
return Regex.IsMatch(P_str_fax, @"86-\d{2,3}-\d{7,8}");
}
#endregion
#region 验证输入字符串为邮政编码
/// <summary>
/// 验证输入字符串为邮政编码
/// </summary>
/// <param name="P_str_postcode"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validatePostCode(string P_str_postcode)
{
return Regex.IsMatch(P_str_postcode, @"\d{6}");
}
#endregion
#region 验证输入字符串为E-mail地址
/// <summary>
/// 验证输入字符串为E-mail地址
/// </summary>
/// <param name="P_str_email"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateEmail(string P_str_email)
{
return Regex.IsMatch(P_str_email, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
#region 验证输入字符串为网络地址
/// <summary>
/// 验证输入字符串为网络地址
/// </summary>
/// <param name="P_str_naddress"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateNAddress(string P_str_naddress)
{
return Regex.IsMatch(P_str_naddress, @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
}
#endregion
#region 创建DataSet对象
/// <summary>
/// 创建一个DataSet对象
/// </summary>
/// <param name="M_str_sqlstr"> SQL语句 </param>
/// <param name="M_str_table"> 表名 </param>
/// <returns> 返回DataSet对象 </returns>
public DataSet getds(string M_str_sqlstr, string M_str_table)
{
SqlConnection sqlcon = getcon();
SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlda.Fill(myds, M_str_table);
return myds;
}
#endregion
#region 自动编号
/// <summary>
/// 自动编号
/// </summary>
/// <param name="P_str_sqlstr"> SQL语句 </param>
/// <param name="P_str_table"> 数据表名 </param>
/// <param name="P_str_tbColumn"> 数据表字段 </param>
/// <param name="P_str_codeIndex"> 编号前的字符串 </param>
/// <param name="P_str_codeNum"> 编号后面的数字 </param>
/// <param name="txt"> TextBox控件名 </param>
public void autoNum(string P_str_sqlstr, string P_str_table, string P_str_tbColumn, string P_str_codeIndex,
string P_str_codeNum, TextBox txt)
{
string P_str_Code = "";
int P_int_Code = 0;
DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
if (myds.Tables[0].Rows.Count == 0)
{
txt.Text = P_str_codeIndex + P_str_codeNum;
}
else
{
P_str_Code = Convert.ToString(myds.Tables[0].Rows[myds.Tables[0].Rows.Count - 1][P_str_tbColumn]);
P_int_Code = Convert.ToInt32(P_str_Code.Substring(2, 7)) + 1;
P_str_Code = P_str_codeIndex + P_int_Code.ToString();
txt.Text = P_str_Code;
}
}
#endregion
#region 绑定报表
/// <summary>
/// 绑定报表
/// </summary>
/// <param name="P_str_creportName"> 报表名称 </param>
/// <param name="P_str_sql"> SQL语句 </param>
/// <returns> 返回ReportDocument对象 </returns>
public ReportDocument CrystalReports(string P_str_creportName, string P_str_sql)
{
ReportDocument reportDocument = new ReportDocument();
string P_str_creportPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0,
Application
.
StartupPath
.
LastIndexOf
("\\"))
.LastIndexOf("\\"));
P_str_creportPath += @"\SumManage\CReportFile\" + P_str_creportName;
reportDocument.Load(P_str_creportPath);
//水晶报表动态链接数据库
TableLogOnInfo logOnInfo = new TableLogOnInfo();
logOnInfo.ConnectionInfo.ServerName = "MRKJ_ZHD\\ZHD";
logOnInfo.ConnectionInfo.DatabaseName = "db_CRM";
logOnInfo.ConnectionInfo.UserID = "sa";
logOnInfo.ConnectionInfo.Password = "";
// 对报表中的每个表依次循环(把连接信息存入每一个Table中)
foreach (Table tb in reportDocument.Database.Tables)
{
tb.ApplyLogOnInfo(logOnInfo);
}
reportDocument.DataDefinition.RecordSelectionFormula = P_str_sql;
return reportDocument;
}
#endregion
}
}
using System.Data;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
//TableLogOnInfo
namespace CRM.BaseClass
{
internal class OperateAndValidate
{
private readonly BaseOperate boperate = new BaseOperate(); //声明BaseOperate类的一个对象,以调用其方法
#region 绑定ComboBox控件
/// <summary>
/// 对ComboBox控件进行数据绑定
/// </summary>
/// <param name="P_str_sqlstr"> SQL语句 </param>
/// <param name="P_str_table"> 表名 </param>
/// <param name="P_str_tbMember"> 数据表中字段名 </param>
/// <param name="cbox"> ComboBox控件ID </param>
public void cboxBind(string P_str_sqlstr, string P_str_table, string P_str_tbMember, ComboBox cbox)
{
DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
cbox.DataSource = myds.Tables[P_str_table];
cbox.DisplayMember = P_str_tbMember;
}
#endregion
#region 验证输入字符串为数字
/// <summary>
/// 验证输入字符串为数字
/// </summary>
/// <param name="P_str_num"> 输入字符 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateNum(string P_str_num)
{
return Regex.IsMatch(P_str_num, "^[0-9]*$");
}
#endregion
#region 验证输入字符串为电话号码
/// <summary>
/// 验证输入字符串为电话号码
/// </summary>
/// <param name="P_str_phone"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validatePhone(string P_str_phone)
{
return Regex.IsMatch(P_str_phone, @"\d{3,4}-\d{7,8}");
}
#endregion
#region 验证输入字符串为传真号码
/// <summary>
/// 验证输入字符串为传真号码
/// </summary>
/// <param name="P_str_fax"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateFax(string P_str_fax)
{
return Regex.IsMatch(P_str_fax, @"86-\d{2,3}-\d{7,8}");
}
#endregion
#region 验证输入字符串为邮政编码
/// <summary>
/// 验证输入字符串为邮政编码
/// </summary>
/// <param name="P_str_postcode"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validatePostCode(string P_str_postcode)
{
return Regex.IsMatch(P_str_postcode, @"\d{6}");
}
#endregion
#region 验证输入字符串为E-mail地址
/// <summary>
/// 验证输入字符串为E-mail地址
/// </summary>
/// <param name="P_str_email"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateEmail(string P_str_email)
{
return Regex.IsMatch(P_str_email, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
}
#endregion
#region 验证输入字符串为网络地址
/// <summary>
/// 验证输入字符串为网络地址
/// </summary>
/// <param name="P_str_naddress"> 输入字符串 </param>
/// <returns> 返回一个bool类型的值 </returns>
public bool validateNAddress(string P_str_naddress)
{
return Regex.IsMatch(P_str_naddress, @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
}
#endregion
#region 创建DataSet对象
/// <summary>
/// 创建一个DataSet对象
/// </summary>
/// <param name="M_str_sqlstr"> SQL语句 </param>
/// <param name="M_str_table"> 表名 </param>
/// <returns> 返回DataSet对象 </returns>
public DataSet getds(string M_str_sqlstr, string M_str_table)
{
SqlConnection sqlcon = getcon();
SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);
DataSet myds = new DataSet();
sqlda.Fill(myds, M_str_table);
return myds;
}
#endregion
#region 自动编号
/// <summary>
/// 自动编号
/// </summary>
/// <param name="P_str_sqlstr"> SQL语句 </param>
/// <param name="P_str_table"> 数据表名 </param>
/// <param name="P_str_tbColumn"> 数据表字段 </param>
/// <param name="P_str_codeIndex"> 编号前的字符串 </param>
/// <param name="P_str_codeNum"> 编号后面的数字 </param>
/// <param name="txt"> TextBox控件名 </param>
public void autoNum(string P_str_sqlstr, string P_str_table, string P_str_tbColumn, string P_str_codeIndex,
string P_str_codeNum, TextBox txt)
{
string P_str_Code = "";
int P_int_Code = 0;
DataSet myds = boperate.getds(P_str_sqlstr, P_str_table);
if (myds.Tables[0].Rows.Count == 0)
{
txt.Text = P_str_codeIndex + P_str_codeNum;
}
else
{
P_str_Code = Convert.ToString(myds.Tables[0].Rows[myds.Tables[0].Rows.Count - 1][P_str_tbColumn]);
P_int_Code = Convert.ToInt32(P_str_Code.Substring(2, 7)) + 1;
P_str_Code = P_str_codeIndex + P_int_Code.ToString();
txt.Text = P_str_Code;
}
}
#endregion
#region 绑定报表
/// <summary>
/// 绑定报表
/// </summary>
/// <param name="P_str_creportName"> 报表名称 </param>
/// <param name="P_str_sql"> SQL语句 </param>
/// <returns> 返回ReportDocument对象 </returns>
public ReportDocument CrystalReports(string P_str_creportName, string P_str_sql)
{
ReportDocument reportDocument = new ReportDocument();
string P_str_creportPath = Application.StartupPath.Substring(0, Application.StartupPath.Substring(0,
Application
.
StartupPath
.
LastIndexOf
("\\"))
.LastIndexOf("\\"));
P_str_creportPath += @"\SumManage\CReportFile\" + P_str_creportName;
reportDocument.Load(P_str_creportPath);
//水晶报表动态链接数据库
TableLogOnInfo logOnInfo = new TableLogOnInfo();
logOnInfo.ConnectionInfo.ServerName = "MRKJ_ZHD\\ZHD";
logOnInfo.ConnectionInfo.DatabaseName = "db_CRM";
logOnInfo.ConnectionInfo.UserID = "sa";
logOnInfo.ConnectionInfo.Password = "";
// 对报表中的每个表依次循环(把连接信息存入每一个Table中)
foreach (Table tb in reportDocument.Database.Tables)
{
tb.ApplyLogOnInfo(logOnInfo);
}
reportDocument.DataDefinition.RecordSelectionFormula = P_str_sql;
return reportDocument;
}
#endregion
}
}
相关文章推荐
- 客户管理系统的数验证(OperateAndValidate.cs)
- Validate and Format North American Phone Numbers (验证和格式化北美电话号码)
- 兼容IE8以下浏览器input表单属性placeholder不能智能提示功能,以及使用jquery.validate.js表单验证插件的问题处理
- jQuery validate 动态修改自定义验证方法的提示消息
- jQuery Validate验证框架详解(推荐)
- 错误:此网页的安全性验证无效并且可能损坏。请单击 Web 浏览器中的“后退”,刷新网页,再重试操作
- invalidateList and validateNow
- [Selenium] 操作新弹出窗口之验证标题和内容
- ASP.NET MVC和WebForm 轻松实现前端和后端的双重验证 jquery.validate+ValidationSugar
- easyui validatebox 验证类型
- jQuery Validate 自定义验证方法引入问题
- formValidate输入验证
- 电路呼叫规程概念图 (CS Paging Procedure in A/Gb and Iu mode)
- jquery插件validate验证的小例子
- JQueryI validatebox 扩展其自带验证方法
- struts2用户验证的validate方法
- Install RL(Robotcs Library) on ubuntu and using
- jquery.validate表单验证插件使用详解
- jQuery.validate.js表单验证
- 各种JS验证和操作