便于开发的Helper类
一、将config封装实体层;
例子config:
<?xml version="1.0" encoding="utf-8" ?>
<Settings>
<CRMSettings>
<UserName>administrator</UserName>
<Password>Sh123456</Password>
<Domain>SSO.COM</Domain>
<ConnectionString>Data Source=.;Initial Catalog=XHMZJ_MSCRM;User ID=sa;password=Sh123456</ConnectionString>
</CRMSettings>
<DataSourceSettings>
<ConnectionString>Data Source=.;Initial Catalog=XH_YWXT;User ID=sa;password=Sh123456</ConnectionString>
</DataSourceSettings>
</Settings>
1.对于web版本的web.config。
public class ConfigHelper
{
private static ConfigHelper _instance = null;
public static ConfigHelper Instance
{
get
{
if (_instance == null)
_instance = new ConfigHelper();
return _instance;
}
}
public ConfigHelper()
{
this.CRMConfigInstance = new CRMConfig();
Exception Ex = null;
try
{ this.CRMConfigInstance.ServerURL = System.Configuration.ConfigurationManager.AppSettings["WebUrl"];
this.CRMConfigInstance.UserName = System.Configuration.ConfigurationManager.AppSettings["UserName"];
this.CRMConfigInstance.Password = System.Configuration.ConfigurationManager.AppSettings["Password"];
this.CRMConfigInstance.Domain = System.Configuration.ConfigurationManager.AppSettings["Domain"];
this.CRMConfigInstance.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MZJCRM"].ConnectionString; }
catch (Exception ex)
{
Ex = ex;
}
finally
{
if (Ex != null)
{
//ExceptionHelper.WriteLog(Ex);
}
}
}
public CRMConfig CRMConfigInstance = null; } public class CRMConfig
{ private string _ConnectionString;
public string ConnectionString
{
set { _ConnectionString = value; }
get { return _ConnectionString; }
} #region CRMConfig
private string _serverURL;
public string ServerURL
{
set { _serverURL = value; }
get { return _serverURL; }
} private string _userName;
public string UserName
{
set { _userName = value; }
get { return _userName; }
}
private string _password;
public string Password
{
set { _password = value; }
get { return _password; }
}
private string _domain;
public string Domain
{
set { _domain = value; }
get { return _domain; }
}
#endregion
}
Web版本
2.应用程序版本的config。
public class ConfigHelper
{
private static ConfigHelper _instance = null;
public static ConfigHelper Instance
{
get
{
if (_instance == null)
_instance = new ConfigHelper();
return _instance;
}
}
const string configFileName = "CRMConfig.xml";
protected XmlDocument doc;
public ConfigHelper()
{
this.CRMConfigInstance = new CRMConfig();
this.SourceConfigInstance = new SourceConfig(); doc = new XmlDocument();
Exception Ex = null;
try
{
doc.Load(this.FileFullPath);
XmlNode Settings = doc.DocumentElement.SelectSingleNode("Settings");
//CRMSettings
XmlNode CrmSettings = doc.DocumentElement.SelectSingleNode("CRMSettings");
XmlNode WebUrl = CrmSettings.SelectSingleNode(@"WebUrl");
XmlNode UserName = CrmSettings.SelectSingleNode(@"UserName");
XmlNode Password = CrmSettings.SelectSingleNode(@"Password");
XmlNode Domain = CrmSettings.SelectSingleNode(@"Domain");
XmlNode CRMConnectionString = CrmSettings.SelectSingleNode(@"ConnectionString");
//DataSourceSettings
XmlNode DataSourceSettings = doc.DocumentElement.SelectSingleNode("DataSourceSettings");
XmlNode SourceConnectionString = DataSourceSettings.SelectSingleNode(@"ConnectionString"); this.CRMConfigInstance.UserName = UserName.InnerText;
this.CRMConfigInstance.Password = Password.InnerText;
this.CRMConfigInstance.Domain = Domain.InnerText;
this.CRMConfigInstance.ServerURL = WebUrl.InnerText;
this.CRMConfigInstance.ConnectionString = CRMConnectionString.InnerText; this.SourceConfigInstance.ConnectionString = SourceConnectionString.InnerText; }
catch(Exception ex)
{
Ex = ex;
}
finally
{
if(Ex != null)
{
ExceptionHelper.WriteLog(Ex);
}
}
} private string _filePath;
public string FilePath
{
set { this._filePath = value; }
get
{
return System.Windows.Forms.Application.StartupPath;
}
}
/// <summary>
/// full path
/// </summary>
public string FileFullPath
{
get
{
return System.IO.Path.Combine(this.FilePath, configFileName);
}
} public CRMConfig CRMConfigInstance = null;
public SourceConfig SourceConfigInstance = null; } public class CRMConfig
{ private string _ConnectionString;
public string ConnectionString
{
set { _ConnectionString = value; }
get { return _ConnectionString; }
} #region CRMConfig
private string _serverURL;
public string ServerURL
{
set { _serverURL = value; }
get { return _serverURL; }
} private string _userName;
public string UserName
{
set { _userName = value; }
get { return _userName; }
}
private string _password;
public string Password
{
set { _password = value; }
get { return _password; }
}
private string _domain;
public string Domain
{
set { _domain = value; }
get { return _domain; }
}
#endregion
}
public class SourceConfig
{
private string _ConnectionString;
public string ConnectionString
{
set { _ConnectionString = value; }
get { return _ConnectionString; }
}
}
应用程序版本
二、SqlHeleper类
public static class SQLHelper
{
public static DataTable GetDataTable(string sqlStr, params SqlParameter[] sqlParameters)
{
using (SqlConnection conn = new SqlConnection(ConfigHelper.Instance.CRMConfigInstance.ConnectionString))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sqlStr;
foreach (SqlParameter sqlParameter in sqlParameters)
{
cmd.Parameters.Add(sqlParameter);
}
DataSet dataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataSet);
return dataSet.Tables[];
}
}
} public static string XMLDocumentToString(ref XmlDocument doc)
{
MemoryStream stream = new MemoryStream();
XmlTextWriter writer = new XmlTextWriter(stream, null);
writer.Formatting = Formatting.Indented;
doc.Save(writer); //转换 StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
stream.Position = ;
string xmlString = sr.ReadToEnd();
sr.Close();
stream.Close(); return xmlString;
} public static int ExecuteNonQuerys(string SQL, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand(); using (SqlConnection connection = new SqlConnection(ConfigHelper.Instance.CRMConfigInstance.ConnectionString))
{
PrepareCommand(cmd, connection, null, CommandType.Text, SQL, commandParameters);
int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear();
return val;
}
} private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{ //判断数据库连接状态
if (conn.State != ConnectionState.Open)
conn.Open(); cmd.Connection = conn;
cmd.CommandText = cmdText; //判断是否需要事物处理
if (trans != null)
cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
}
SqlHelper
便于开发的Helper类的更多相关文章
- .NET中的加密算法总结(自定义加密Helper类续)
1.1.1 摘要 相信许多人都使用过.NET提供的加密算法,而且在使用的过程我们必须了解每种加密算法的特点(对称或非对称,密钥长度和初始化向量等等).我也看到过很多人写过.NET中加密算法总结,但我发 ...
- 之前采用的是Helper类的方法重构时改用了扩展方法
在手机端输入网址不方全,通常会将网址做成一个二维码,然后用手机扫一下就可以打开预览.我们每改一下样式,就在手机上点一下刷新或电脑上按一下F5,这在最初的时候,也不觉得有什么问题,因为拿到我手上的静态页 ...
- 开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
在我们开发开发H5程序或者小程序的时候,有时候需要基于内置浏览器或者微信开发者工具进行测试,这个时候可以采用默认的localhost进行访问后端接口,一般来说没什么问题,如果我们需要通过USB基座方式 ...
- DbUtils是Apache出品一款简化JDBC开发的工具类
DbUtils - DbUtils是Apache出品一款简化JDBC开发的工具类 - 使用DbUtils可以让我们JDBC的开发更加简单 - DbUtils的使用: ...
- MVC中使用HTML Helper类扩展HTML控件
文章摘自:http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/1415005.html MVC在view页面,经常需要用到很多封装好的HTML控件 ...
- 一点ASP.NET MVC Html.Helper类的方法
一点ASP.NET MVC Html.Helper类 这里就只写一个Html.ActionLink()和Html.DropdownList(). Html.ActionLink()里有三个参数,第一个 ...
- phpcms v9二次开发之模型类的应用(1)
在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用. 前段时间我基于phpcms v9开发了一个足球网.足球网是 ...
- Xamarin开发笔记—设备类&第三方弹窗的使用和注意事项
一.设备类是Xamarin重要开发组成部分,下面介绍一下设备类的主要用法: //唤醒打电话 Device.OpenUri(new Uri("tel:180xxxxxxxx")); ...
- 用Java开发一个工具类,提供似于js中eval函数功能的eval方法
今天在看到<Java疯狂讲义>中一个章节习题: 开发一个工具类,该工具类提供一个eval()方法,实现JavaScript中eval()函数的功能--可以动态运行一行或多行程序代码.例如: ...
随机推荐
- centos tomcat安装
官网http://tomcat.apache.org/download-70.cgi下载zip的文件unzip apache-tomcat-7.0.54.zipmv apache-tomcat-7.0 ...
- CentOS Mono Nginx 部署 MVC4+WebApi
CentOS Mono Nginx 部署 MVC4+WebApi 经过几天的折磨,终于在CentOS上成功部署了MVC4+WebApi.Mono上的服务器推荐两种:Jexus(国产高人写的一款很牛的服 ...
- git 使用
三个状态 文件由 git 维护三中状态 modified:文件被改动,但还没有被提交 staged:标记被改动的文件到下次需要提交的文件快照 committed:文件已经被安全保存到本地 可以使用命令 ...
- ABP框架实践基础篇之开发UI层
返回总目录<一步一步使用ABP框架搭建正式项目系列教程> 说明 其实最开始写的,就是这个ABP框架实践基础篇.在写这篇博客之前,又回头复习了一下ABP框架的理论,如果你还没学习,请查看AB ...
- 反编译.NET工程
工具: 1. .Net Reflector 2. 远程桌面 步骤: 1. 远程桌面连接到服务器 IP,port,user,pwd 2. 打开 IIS 这里面就是所部属的网 ...
- 大数据之Oozie——源码分析(一)程序入口
工作中发现在oozie中使用sqoop与在shell中直接调度sqoop性能上有很大的差异.为了更深入的探索其中的缘由,开始了oozie的源码分析之路.今天第一天阅读源码,由于没有编译成功,不能运行测 ...
- CI Weekly #7 | Instgram/Quora 等大公司如何做持续部署?
终于,你们期待的 flow.ci iOS 项目持续集成 开始公测了.在这几个工作日, flow.ci 做了些许「功能优化」与「问题修复」,性能和体验都在持续优化中.比如: iOS 快速入门文档更新: ...
- Kafka 文档用例
1.2 用例 以下是一些Kafka 常见的用例.关于功能方面的一些概念,可以看这篇博客:http://engineering.linkedin.com/distributed-systems/log- ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(27)-权限管理系统-分配用户给角色
系列目录 分配用户给角色,跟分配角色给用户操作是基本一致的. 打开模块维护,展开SysRole模块添加一个操作码,并赋予权限 设置好之后将权限授权给管理员,在SysRole的index添加操作码与js ...
- Python:认识模块
一.了解 Python 模块: -- 什么是函数: 函数是实现一项或多项功能的一段程序 模块是实现一类功能的程序块,是包含函数和其他语句的脚本文件,以".py"为后缀名 默认,C: ...