在项目配置文件中添加数据库连接字符串

  <connectionStrings>
<add connectionString="Data Source=主机;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码" name="当前连接字符串名称"/>
</connectionStrings>

封装类

    class SqlHelper
{
//获取连接字符串
private readonly static string connectionStr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
/// <summary>
/// 执行sql 增 删 该
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public static bool ExecuteNonQuery(string sql, params SqlParameter[] param)
{
int result;
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
result = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
}
}
con.Close();
}
if (result == )
{
return true;
}
else
{
return false;
}
}
/// <summary>
/// 查询单行单列 或者是统计
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns></returns>
public static object ExecuteScalar(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
} }
}
}
/// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns>SqlDataReader对象</returns>
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (param != null)
{
cmd.Parameters.AddRange(param);
}
try
{
con.Open();
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
//如果连接失败,抛出异常,并手动释放资源
con.Close();
con.Dispose();
throw ex;
}
}
}
} /// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="sql"></param>
/// <param name="param"></param>
/// <returns>DataTable对象</returns>
public static DataTable ExcuteTable(string sql, params SqlParameter[] param)
{
using (SqlConnection con = new SqlConnection(connectionStr))
{
DataTable dt = new DataTable(); using (SqlDataAdapter sda = new SqlDataAdapter(sql, connectionStr))
{
if (param != null) {
sda.SelectCommand.Parameters.AddRange(param);
}
sda.Fill(dt);
} return dt;
} }
}

C# 封装SqlHelper的更多相关文章

  1. 封装sqlhelper【一】

    控件信息展示: //定义调用数据库类文件 namespace SqlHelper { public class TblClass { public int classId { get; set; } ...

  2. 数据操作的封装--sqlhelper

    为了提高软件的灵活性和可维护性,软件的代码须要科学的管理.我们引入了架构这个词.设计模式提醒我们,软件中反复性的代码须要封装起来. 近期在做收费系统时.须要和数据库进行频繁的联系.既然是反复的使用,就 ...

  3. 封装SqlHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  4. 封装sqlhelper类

    using System;using System.Collections.Generic;using System.Data;using System.Data.Common;using Syste ...

  5. ADO.Net和SqlHelper封装

    1.什么是ADO.Net 简单来讲,ADO.NET是用于和数据源打交道的.Net结束,是一组向.NET程序员公开数据访问服务的类   2.ADO.NET的组成部分和对象模型 (1)ADO.NET的两个 ...

  6. ado.net的简单数据库操作(二)之封装SqlHelperl类

    今天我书接上回,接着昨天的ado.net的数据库操作的相关知识来讲哈! 从上篇文章给出的实例来看,你一定会发现,操作数据库其实还挺麻烦的,就连一个最简单的数据库操作语句都要包括 定义数据库连接字符串. ...

  7. 【整理】待毕业.Net码农就业求职储备

    声明:本文题目来源于互联网,仅供即将从学校毕业的.Net码农(当然,我本人也是菜逼一个)学习之用.当然,学习了这些题目不一定会拿到offer,但是针对就业求职做些针对性的准备也是不错的.此外,除了技术 ...

  8. C#向Sql数据库插入控制

    string name = textBox1.Text; int age = Convert.ToInt32(textBox2.Text.Trim()); ? null : (int?)Convert ...

  9. .net学习总结

    .NET 学前入门 了解.Net能做什么 了解.NET,C#语言及其特点(分清.NET和C#的关系),对.Net学习有系统全面的认识. C#基础 变量,赋值运算符.数据类型转换等. 选择结构控制(if ...

随机推荐

  1. ARTS(一)

    ARTS第一周,2019年3月17日,星期日,天气晴. A:算法学习(Algorithm) 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LE ...

  2. dos语法

    一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前 ...

  3. WEBBASE篇: 第四篇, CSS知识2

    CSS知识2 一, 尺寸 与 边框 CSS单位 1,尺寸单位:(1)px 像素   (2)%   (3) in 英寸  lin = 2.54cm (4)pt 磅 1pt = 1/72in    ppi ...

  4. Parsing with Compositional Vector Grammars--paper

    这篇和2012年的区别: 1)Max-Margin Training Objective J中RNN变为了CVG 2012-两个词向量合并并打分,这个-两个(词向量,POS)合并并打分 2012年: ...

  5. 2019西湖论剑网络安全技能大赛(大学生组)部分WriteUp

    这次比赛是我参加以来成绩最好的一次,这离不开我们的小团队中任何一个人的努力,熬了一整天才答完题,差点饿死在工作室(门卫大爷出去散步,把大门锁了出不去,还好学弟提了几个盒饭用网线从窗户钓上来才吃到了午饭 ...

  6. URI,url简介

    URI,URL是什么? URI :Uniform Resource Identifier,统一资源标识符: URL:Uniform Resource Locator,统一资源定位符: URN:Unif ...

  7. 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener

    =================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...

  8. Android引入动态库so的方法

    Android引入动态库so的方法 标签(空格分隔): Android so 第三方库 为了执行效率,会将一些CPU密集性任务如音视频解码.图像处理等放入到so中,还有也会将程序关键核心部分放入到so ...

  9. Web前端入门教程之浏览器兼容问题及解决方法

    JavaScript 被称为JS,是作为浏览器的内置脚本语言,为我们提供操控浏览器的能力,可以让网页呈现出各种特殊效果,为用户提供友好的互动体验.JS是Web前端入门教程中的重点和难点,而浏览器兼容性 ...

  10. 查看linux系统CPU及内存配置

    总核数 = 物理CPU个数 X 每颗物理CPU的核数 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 查看物理CPU个数 cat /proc/cpuinfo| grep & ...