第一步:创建一个名为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. 记一个微信支付-1错误JSAPI缺少参数app|get_brand_request:Fail

    最近公司要做一个H5小游戏里边涉及到微信公众号支付,中间摸爬滚打遇到了很多坑.记录一下,留待后人看. 我们来看一下这个方法 GetJsApiParameters 怎么样,看起来像不像输出了一个JSON ...

  2. spring cloud consul上下线体验

    spring cloud consul中默认会将spring.application.name作为ID 同一服务起多个实例时,ID默认会变成${spring.application.name}-${s ...

  3. Kettle源码学习(一)——把Kettle项目跑起来

    kettle(pentaho data integration),是一款开源的C/S版的ETL工具,最近打算学习一下kettle源码,并自己写一个mini kettle,并改造成基于事件触发的流处理模 ...

  4. String类的常用方法以及知识点总结

    一,String的简介: 查阅API中的String类的描述,发现String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 一旦这个 ...

  5. ZUK Z2 AospExtended-v6.7 Android 9.0可用的谷歌相机Mod.md

    目录 参考资料 系统版本: AospExtended-v6.7-z2_plus-20190821-1940-OFFICIAL.zip cstark27 ×PXv4.1.1_GoogleCamera_7 ...

  6. ajax基础------备忘

    1:register.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. Elasticsearch安装配置问题

    1.配置服务 ip 和 端口 进入 elasticsearch 安装目录,打开 config/elasticsearch.yml 配置 net.host 和 http.port net.host: 0 ...

  8. [PySpark] Spark SQL on a large file

    基础篇:[Spark] 03 - Spark SQL /* implement */

  9. MATLAB学习(八)神经网络拟合工具箱 Neural Net Fitting使用示例

    >> x=-3:0.2:5;y=x.^2-1;xn=-2:0.1:7; >>     >> %多元函数(z=sin(x2+y2)/(x2+y2))拟合 >&g ...

  10. JAVA 基础编程练习题13 【程序 13 根据条件求数字】

    13 [程序 13 根据条件求数字] 题目:一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少? 程序分析:在 10 万以内判断,先将该数加上 100 后 ...