SqlHelper帮助类_上(SQLServer数据库含Connection详解)
在操作数据库时,经常会用到自己封装的SqlHelper。这里主要对SQLServer数据库的Sqlhelper,主要用于在同一个连接中完成CRUD!
一.ADO.NET中的Connection详解:
- 连接字符串
- 写法一:
- "Data Source=服务器名; Initial Catalog=数据库; User ID =用户名; Password=密码; Charset=UTF8; "
- 写法二:
- "Server=服务器名; Database=数据库; uid=用户名; Password=密码;Charser=UTF8"
注:Integrated Security = True;
解释:integrated security=true 的意思是集成验证,也就是说使用Windows验证的方式去连接到数据库服务器。这样方式的好处是不需要在连接字符串中编写用户名和密码,从一定程度上说提高了安全性。
Connection:
- Connection是实现了IDisposable接口的对象。使用Connection需要释放资源。
using(Connection 对象)
{
//该方法体内容执行完后就自动释放资源了
}
二.config配置文件:
<connectionStrings>
<add name="constr" connectionString="server=127.0.0.1;user id=用户名;password=密码;database=数据库"/>
</connectionStrings>
三.SqlHelper:
/// <summary>
/// 获取web.config的连接字符串
/// </summary>
private static readonly string connstr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; /// <summary>
/// 将数据加载到本地,在本地对数据进行操作
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="parameter">参数化查询</param>
/// <returns>返回从数据库中读取到的DataTable表</returns>
public static DataTable ExecuteQuery(string sql, params SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connstr))
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameter);
DataTable tab = new DataTable();
using (SqlDataReader reader = cmd.ExecuteReader())
{
tab.Load(reader);
return tab; }
}
}
/// <summary>
/// 用于执行增加和删除语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="parameter">参数化查询</param>
/// <returns>有多少语句执行成功</returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connstr))
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameter);
return cmd.ExecuteNonQuery();
}
}
/// <summary>
/// 执行语句后,返回第一行第一列的数据
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns>object类型的值</returns>
public static object ExecuteScalar(string sql, params SqlParameter[] parameter)
{
using (SqlConnection conn = new SqlConnection(connstr))
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameter);
return cmd.ExecuteScalar();
}
}
/// <summary>
/// 在数据库中,进行数据库的查询操作
/// </summary>
/// <param name="sql"></param>
/// <param name="parameter"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] parameter)
{
SqlConnection conn = new SqlConnection(connstr);
using (SqlCommand cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameter);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
SqlHelper帮助类_上(SQLServer数据库含Connection详解)的更多相关文章
- SqlServer数据库性能优化详解
数据库性能优化详解 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小,使每个查询的响应时间最短并最大限度地提高整个数据库服务器的吞吐量.为达到此目的,需要了解应用程序的需求和数据 ...
- [转]SqlServer数据库同步方案详解
SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置 SqlServer数据库同步是个比较好的解决方案.Sq ...
- 转载:SqlServer数据库性能优化详解
本文转载自:http://blog.csdn.net/andylaudotnet/article/details/1763573 性能调节的目的是通过将网络流通.磁盘 I/O 和 CPU 时间减到最小 ...
- SQLServer数据库降级方法详解
右击数据库,有一个任务选项--扩展里面有一个生成脚本 设置脚本选项 高级 最下方"要编写的脚本类型" 选择 框架及数据 完成
- SQLHelper帮助类_下(支持多数据库的封装)
在上篇关于SQLHelper类中,主要针对SQLServer数据库进行的.在使用别的数据库,就要修改部分代码!所以今天就写一个支持多数据库的封装!主要用到枚举,读取config文件!接口的简单用法.获 ...
- 【数据库】jdbc详解
try { if(resultSet!=null){ resultSet.close(); } }catch (SQLException e){ e.printStackTrace(); }final ...
- 数据库开发-pymysql详解
数据库开发-pymysql详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Python支持的MySQL驱动 1>.什么是驱动 与MySQL通信就是典型的CS模式.Se ...
- Swift-Realm数据库的使用详解
Swift-Realm数据库的使用详解 概述 Realm 是一个跨平台的移动数据库引擎,其性能要优于 Core Data 和 FMDB - 移动端数据库性能比较, 我们可以在 Android 端 re ...
- Net Core中数据库事务隔离详解——以Dapper和Mysql为例
Net Core中数据库事务隔离详解--以Dapper和Mysql为例 事务隔离级别 准备工作 Read uncommitted 读未提交 Read committed 读取提交内容 Repeatab ...
随机推荐
- hashchange
<!DOCTYPE html> <html> <head> <title>Hash Change Example</title> <s ...
- KNN算法--物以类聚,人以群分
KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...
- Grunt之watch详解
Grunt 之 watch 和 livereload 现在 watch 中已经集成了 livereload ,所以把它们放在一起说明. watch 可以监控特定的文件,在添加文件.修改文件.或者删除文 ...
- Java语言与C语言之间的应用比较
http://book.51cto.com/art/200906/131809.htm C语言能干的Java也能干的如下: 网络应用层协议服务程序开发:如WebServer.FTPServer.Mai ...
- 重新回顾JSP
由于个人喜好,觉得自己需要学习一下,服务端的语言.JSP之前学过,不够许久未用了. http://www.w3cschool.cc/jsp/jsp-intro.html 1.Java代码片段使用< ...
- JavaSE学习总结(一)——Java基础
一.Java是什么 Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用.有许多 ...
- 基于Daydream technical preview GVR13开发Daydream,Cardboard的Android应用
本文用Unity的Daydream Preview GVR13版本开发同时兼容Daydream和Cardboard的Android应用,Android Studio版本为2.2.3. 下载最新Dayd ...
- Tomcat使用常见问题
1,启动服务器,闪退问题 原因:tomcat软件是用java语言开发的,软件启动时,会默认到系统环境变量中查找一个名叫JAVA_HOME的变量.这个变量的作用是找到tomcat启动所需的JVM. ...
- 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)
题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...
- 解决npm install安装了太多架包的问题
比如我安装gulp时,会多出很多无用的包,如下图: 经过查询,原来是npm升级了导致的,在npm3.0以上的版本,包的依赖不再安装在每个架包的node_modules文件夹内,而是安装在顶层的node ...