第一步:创建一个名为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. Kbengine游戏引擎-【2】kbengine引擎服务端目录结构分析

    |- kbengine (KBE_ROOT 根目录) |- demo (游戏例子工程的根目录) |- res (工程的所有资源) |- spaces (通常存放游戏场景相关的资源,例如Navmesh) ...

  2. 小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战

    笔记 6.服务注册和发现之Eureka Client搭建商品服务实战     简介:搭建用商品服务,并将服务注册到注册中心 1.创建一个SpirngBoot应用,增加服务注册和发现依赖     2.模 ...

  3. c++ STL之unordered_map

    1.1 特性 关联性:通过key去检索value,而不是通过绝对地址(和顺序容器不同) 无序性:使用hash表存储,内部无序 Map : 每个值对应一个键值 键唯一性:不存在两个元素的键一样 动态内存 ...

  4. [CDH] Cloudera's Distribution including Apache Hadoop

    You may choose to install spark, yarn, hive, etc one by one. [Spark] 00 - Install Hadoop & Spark ...

  5. Scrapy框架——使用CrawlSpider爬取数据

    引言 本篇介绍Crawlspider,相比于Spider,Crawlspider更适用于批量爬取网页 Crawlspider Crawlspider适用于对网站爬取批量网页,相对比Spider类,Cr ...

  6. MySQL常用维护命令和操作

    MySQL数据库安装后,除了包括MySQL服务器进程管理外,还提供了大量工具用于管理和维护MySQL服务器的其它工作.下面PHP程序员雷雪松介绍的这些命令都是在MySQL交互界面以外的命令行中执行的. ...

  7. 【CSS】我的颜色到底听谁的?—— css的层叠性

    我们之前学了很多个选择器,都可以帮我们定位到具体标签上,然后我们在设置样式.但这也不可避免会产生一个问题:如果多个选择器同时指向同一个标签,那么到底该听谁的??? css一定有自己的机制来处理这个问题 ...

  8. Dlib支持CPU指令集编译问题(SSE4.2或者AVX)

    The compile script is: mkdir build cd build cmake ../../tools/python -DUSE_SSE2_INSTRUCTIONS=ON cmak ...

  9. button与subit区别

    submit介绍   submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了.如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把su ...

  10. Opencv 简单视频播放器

    // C++ header and namespace #include <iostream> #include <string> #include <cstdlib&g ...