第一步:创建一个名为SqlDBHelper的类,用来作为联通数据库和系统之间的桥梁。

第二步:引入命名空间,如果System.Configuration、System.Transcations这两个命名空间找不到,可在项目目录下的【引用】=》添加引用【框架】中找到,添加引用即可。

 using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Transactions;

第三步:在配置文件中添加数据库连接地址。

 <configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<connectionStrings>
<add name="MES" connectionString="Data Source=数据库IP;Database=数据库名;User ID=用户名;Password=连接密码;" providerName="System.Data.SqlClient;"/>
</connectionStrings>
</configuration>

第四部:在SqlDBHelper中编写读取配置文件中连接数据库字段:

  private static readonly string connectionString = ConfigurationManager.ConnectionStrings["MES"].ToString();

如果ConfigurationManager提示错误,同第二步操作即可。

第五步:编写操作Sql命令的方法(增删改查):

  public static string DataBase
{
get {
SqlConnection conn = new SqlConnection();
string db = conn.Database; //获取当前数据库或使用的数据库名称
conn.Dispose();
return db;
}
} #region 为SQL命令做提前的参数设定
/// <summary>
/// 为cmd做执行前的参数设定
/// </summary>
/// <param name="cmd">cmd命令对象</param>
/// <param name="conn">连接对象</param>
/// <param name="trans">事务对象</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">SQL命令文本</param>
/// <param name="cmdParms">在命令文本中要使用的SQL参数</param>
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != System.Data.ConnectionState.Open) //如果连接通道未打开,则打开连接通道
conn.Open();
cmd.CommandTimeout = ; //等待时间
cmd.Connection = conn; //为命令对象设置连接通道
cmd.CommandText = cmdText; //为命令对象设置SQL文本
if (trans != null) //如果存在事务,则为命令对象设置事务
cmd.Transaction = trans;
cmd.CommandType = cmdType; //设置命令类型(SQL文本/存储过程)
if (cmdParms != null) //如果参数集合不为空,为命令对象添加参数
cmd.Parameters.AddRange(cmdParms); }
#endregion #region sql 增删改
/// <summary>
/// 执行SQL命令 增删改(无参数)
/// </summary>
/// <param name="cmdText">SQL命令语句</param>
/// <returns></returns>
public static int ExecuteCommand(string cmdText) //重载
{
return ExecuteCommand(cmdText,null);
} /// <summary>
/// 执行SQL命令 增删改(带参数)
/// </summary>
/// <param name="cmdText">SQL命令语句</param>
/// <param name="parameters">参数</param>
/// <returns></returns>
public static int ExecuteCommand(string cmdText, SqlParameter[] parameters)
{
return ExecuteCommand(cmdText,CommandType.Text,parameters);
} /// <summary>
/// 执行SQL命令 增删改(带参数)
/// </summary>
/// <param name="cmdText">SQL命令</param>
/// <param name="cmdType">命令类型</param>
/// <param name="commandParameters">参数集合</param>
/// <returns></returns>
public static int ExecuteCommand(string cmdText, CommandType cmdType, params SqlParameter[] commandParameters)
{
using (TransactionScope transcation = new TransactionScope()) //TransactionScope 使代码块成为事务性代码
{
int res = ;
try
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd,conn,null,cmdType,cmdText,commandParameters); res = cmd.ExecuteNonQuery(); //执行SQL并返回受影响的行数
transcation.Complete(); //指示范围内的操作都已经完成
}
}
catch (Exception ex)
{
throw ex;
}
return res;
}
} /// <summary>
/// 执行SQL命令 增删改
/// </summary>
/// <param name="cmdText">SQL命令</param>
/// <param name="trans">事务对象</param>
/// <param name="cmdType">命令类型</param>
/// <param name="parameters">命令参数</param>
/// <returns></returns>
public static int ExecuteCommand(string cmdText, SqlTransaction trans, CommandType cmdType, SqlParameter[] parameters)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd,trans.Connection,trans,cmdType,cmdText,parameters);
int res = ;
try
{
res = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
cmd.Parameters.Clear();
return res;
}
#endregion #region sql 查询操作
/// <summary>
/// 执行SQL命令 查询
/// </summary>
/// <param name="sqlStr">SQL命令语句</param>
/// <returns></returns>
public static DataTable GetDataTable(string sqlStr)
{
return GetDataTable(sqlStr,null);
} /// <summary>
/// 执行SQL命令 查询
/// </summary>
/// <param name="sqlStr">SQL命令</param>
/// <param name="parameters">参数集合</param>
/// <returns></returns>
public static DataTable GetDataTable(string sqlStr, SqlParameter[] parameters)
{
return GetDataTable(sqlStr,CommandType.Text,parameters);
} /// <summary>
/// 执行SQL命令
/// </summary>
/// <param name="sqlStr">SQL命令</param>
/// <param name="cmdType">命令类型</param>
/// <param name="parameters">参数集合</param>
/// <returns></returns>
public static DataTable GetDataTable(string sqlStr, CommandType cmdType, SqlParameter[] parameters)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(sqlStr,connection);
cmd.CommandTimeout = ;
cmd.CommandType = cmdType;
if (parameters != null)
cmd.Parameters.AddRange(parameters);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
try
{
da.Fill(dt);
}
catch (Exception ex)
{
throw ex;
}
cmd.Parameters.Clear();
return dt;
}
} public static DataTable GetDataTable(string sqlStr,string con,int i)
{
SqlConnection conn = new SqlConnection(con);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlStr,conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();
cmd.Dispose();
da.Dispose();
return dt;
} /// <summary>
/// 执行SQL 查询
/// </summary>
/// <param name="cmdText">SQL命令语句</param>
/// <returns></returns>
public static object GetScalar(string cmdText)
{
return GetScalar(cmdText,null);
} /// <summary>
/// 执行SQL 查询
/// </summary>
/// <param name="cmdText">SQL命令</param>
/// <param name="parameters">参数集合</param>
/// <returns>第一行第一列(object类型)</returns>
public static object GetScalar(string cmdText, SqlParameter[] parameters)
{
return GetScalar(cmdText,CommandType.Text,parameters);
} /// <summary>
/// 执行SQL 查询
/// </summary>
/// <param name="cmdText">SQL命令</param>
/// <param name="cmdType">命令类型</param>
/// <param name="parameters">参数集合</param>
/// <returns>第一行第一列的值(object类型)</returns>
public static object GetScalar(string cmdText, CommandType cmdType, SqlParameter[] parameters)
{
object res = ;
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd,conn,null,cmdType,cmdText,parameters);
try
{
res = cmd.ExecuteScalar();
}
catch(Exception ex)
{
throw ex;
}
cmd.Parameters.Clear();
return res;
}
} public static void Insert_NewData(DataTable dt, string tableName)
{
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connectionString,SqlBulkCopyOptions.UseInternalTransaction);
sqlBulkCopy.DestinationTableName = tableName;//数据库中的表名 sqlBulkCopy.WriteToServer(dt);
sqlBulkCopy.Close();
}
#endregion

至此,SqlDBHelper类完成,在需要时直接调用即可。

ASP.NET数据库连接类(SqlDBHelper)的更多相关文章

  1. C#-数据库访问技术 ado.net——创建 数据库连接类 与 数据库操作方法 以及简单的数据的添加、删除、修改、查看

    数据库访问技术 ado.net 将数据库中的数据,提取到内存中,展示给用户看还可以将内存中的数据写入数据库中去 并不是唯一的数据库访问技术,但是它是最底层的数据库访问技术 1.创建数据库,并设置主外键 ...

  2. JSP 数据库连接类 MySql数据库

    数据库连接类的主要功能是连接数据库并且获得连接对象,以及关闭数据库.通过创建该类的实例,调用其中的方法,以避免重复操作. package chapter13; import java.sql.*; p ...

  3. 【转】ASP.NET数据库连接字符串总结

    来源:http://blog.csdn.net/lutinghuan/article/details/5973897 ASP.NET数据库连接字符串总结 一.使用OleDbConnection对象连接 ...

  4. DAO设计模式 -- 使用数据库连接类连接MySql数据库并实现添加用户

    1. DAO简介    DAO设计模式是属于J2EE数据库层的操作,使用DAO设计模式可以简化大量代码,增强程序的可移植性. 2. DAO各部分详解    DAO设计模式包括5个重要的部分,分别为数据 ...

  5. [转]ASP.NET数据库连接字符串总结

    这个不难,而且很重要,但总忘,找了篇比较全的,作为资料. 原文链接http://developer.51cto.com/art/201107/275406.htm 关于数据库链接字符串的相关知识,我们 ...

  6. 自己写的Python数据库连接类和sql语句拼接方法

    这个工具类十分简单和简洁. sql拼接方法 # encoding=utf-8 from django.http import HttpResponse from anyjson import seri ...

  7. IIS7.5 asp+access数据库连接失败处理 64位系统

    IIS7.5 asp+access数据库连接失败处理(SRV 2008R2 x64/win7 x64) IIS7.5不支持oledb4.0驱动?把IIS运行模式设置成32位就可以了,微软没有支持出64 ...

  8. java数据库连接类,已经把数据库操作的方法都封装好了

    在这里分享一个已经封装好了的java数据库连接类,只要创建对象就可以实现数据库的增删改查操作,用过都说好.其实这个不是我自己写的,是一个理解和学习能力超高的朋友写的,他也很乐于分享交流,本人也深受他的 ...

  9. ASP.NET Cache 类

    在查找资料的过程中.原来园子里面已经有过分析了.nopCommerce架构分析系列(二)数据Cache. 接下来是一些学习补充. 1.Nop中没有System.Web.Caching.Cache的实现 ...

随机推荐

  1. kafka default partitioner java版本和scala版本的不同

    scala import kafka.utils._ class DefaultPartitioner(props: VerifiableProperties = null) extends Part ...

  2. centos6 安装tensorflow

    1.升级python2.6.6 至 python2.7.12+ 升级时./configure --prefix=/usr/local/python27 --enable-unicode=ucs4 2. ...

  3. java.lang.RuntimeException: org.dom4j.DocumentException: 1 字节的 UTF-8 序列的字节 1 无效。

    向一个XML文件写入出现异常 解决办法:使用记事本打开该XML文件,另存为,编码选择UTF-8 java.lang.RuntimeException: org.dom4j.DocumentExcept ...

  4. VS2012编译php扩展

    注意:用VS2015来做会比较好! 开发前准备工作:cygwinvisual studio 2012php编译后的程序      使用的是 xampp集成安装包,所以编译后的程序路径为D:\xampp ...

  5. centos6.8(虚拟机VNC)输入正确用户名和密码仍跳回登录界面

    1)CentOS自动更新到6.8后root无法登陆问题解决 虚拟机CentOS服务器不知道被谁更新系统到6.8后,发现在本机上即使输入正确的密码也无法登陆,发现有一些人也碰见过同样的问题,但是他们是因 ...

  6. RocketMQ之八:水平扩展及负载均衡详解

    RocketMQ是一个分布式具有高度可扩展性的消息中间件.本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的. NameServer集群 提供轻量级的服务发现和路由.每个 ...

  7. iscsi-文件类型

    iSCSI简介(Internet SCSI): iSCSI 小型计算机系统接口,IBM公司研发,用于在IP网络上运行SCSI协议:解决了 SCSI需要直连存储设备的局限性:可以不停机扩展存储容量,iS ...

  8. 从零开始的白帽子学习--stage1--常见漏洞类型介绍--part3--不安全的文件上传

    Q:什么是文件上传漏洞 A:文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像.上传附件等等.当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型.后缀名.大小等 ...

  9. Pairs of Numbers

    #include<stdio.h> //we have defined the necessary header files here for this problem. //If add ...

  10. Git提交本地项目文件到GitHub的详细操作

    因最近在使用git命令提交代码到github的操作,网上找了下教程,记录下过程,便于查看 添加整个文件夹及内容 git add 文件夹/ 添加目录中所有某种类型的文件 git add *.文件类型 `