App.config文件

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<connectionStrings>
<add connectionString="Data Source = .; Initial Catalog = mysql; Integrated Security = True;" name="conStr" />
</connectionStrings>
</configuration>

sqlHelper封装类库代码

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//新建一个App.confit文件,引用下面两个命名空间
using System.Configuration;
using System.Data.SqlClient; namespace 封装
{
public class SqlHelper
{
//读取连接字符串
private static readonly string str = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
//三个方法,关键是第三个方法,查询,条件判断比较多
/// <summary>
/// 此方法可以做增删改
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="ps">sql语句中的参数</param>
/// <returns>返回受影响的行数,int类型</returns>
private static int ExecuteNonQuery(string sql, params SqlParameter[] ps)
{
using (SqlConnection con = new SqlConnection(str))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
if (ps != null)
{
cmd.Parameters.AddRange(ps);
} return cmd.ExecuteNonQuery();
}
}
}
/// <summary>
/// 该方法用在查询上
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="ps">sql语句中的参数</param>
/// <returns>返回首行首列,object类型</returns>
private static object ExecuteScalar(string sql, params SqlParameter[] ps)
{
using (SqlConnection con = new SqlConnection(str))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
if (ps != null)
{
cmd.Parameters.AddRange(ps);
}
return cmd.ExecuteScalar();
}
}
}
/// <summary>
/// 该方法用于查询,读数据
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="ps">sql语句中的参数</param>
/// <returns>返回sqldatareader对象,里面有数据</returns>
private static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps)
{
//这地方不用using,因为不知道什么时候释放
SqlConnection con = new SqlConnection(str);
using (SqlCommand cmd = new SqlCommand(sql,con))
{
if (ps!=null)
{
cmd.Parameters.AddRange(ps);
}
try
{
con.Open();
//这个重载会datareader关闭时,自动关闭connection
return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
con.Close();
con.Dispose();
throw ex;
}
}
}
}
}

sql增删改查封装的更多相关文章

  1. Python pymysql 增删改查封装

    关于pymysql 的增删改查,简单做个封装,方便后面使用直接拿来调用即可. 其中 增删改 的处理其实是一致的,本可以使用统一的方法,但是为了明显区分,这里分开来写了. 直接看代码就即可,如下: # ...

  2. PDO 增删改查封装的类

    Selecting Data 你在mysql_*中是这样做的 <?php $result = mysql_query('SELECT * from table') or die(mysql_er ...

  3. spring学习(四)spring的jdbcTemplate(增删改查封装)

    Spring的jdbcTemplate操作 1.Spring框架一站式框架 (1)针对javaee三层,每一层都有解决技术 (2)到dao 层,使用 jdbcTemplate 2.Spring对不同的 ...

  4. Linq to sql 增删改查(转帖)

    http://blog.csdn.net/pan_junbiao/article/details/7015633   (LINQ To SQL 语法及实例大全) 代码 Code highlightin ...

  5. python之MySQL学习——简单的增删改查封装

    1.增删改查封装类MysqlHelper.py import pymysql as ps class MysqlHelper: def __init__(self, host, user, passw ...

  6. 网络系列之 cookie增删改查(封装)

    什么是cookie 呢?简单来说,这个小东西,会记录你的 浏览器 浏览习惯,或 账号密码等, 以便于提高用户的体验感. 举个例子: 你们有没有发现,去淘宝一些购物网站, 你搜索了 椅子, 挑选了一会椅 ...

  7. 表结构修改以及sql增删改查

    修改表结构 修改表名 alter table 表名 rename 新名 增加字段 alter table 表名 add 字段名 数据类型 约束 删除字段 alter table 表名 drop 字段名 ...

  8. sql增删改查-转载

    一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例:insert into Strdent ...

  9. SQL增删改查

    1.增 INSERT INTO table_name VALUES (value1, value2,....) INSERT INTO table_name (列1, 列2,...) VALUES ( ...

随机推荐

  1. 在Loadrunner中如何用system函数执行系统命令

    前提: windows 系统 实现功能:用 LR 中的system函数执行系统命令 相关功能:在LR中利用C函数建立文件,写文件,读文件. 主要相关函数:sprintf/fopen/fgetc/fre ...

  2. Swift调用OC和C

    Swift文件:main.swift import Foundation //Swift调用C函数 desc1() //Swift调用OC //拿到OC类 var funcClass = Root() ...

  3. 【laravel5.4】git上clone项目到本地,配置和运行 项目报错:../vendor/aotuload.php不存在

    1.一般我们直接使用git clone 将git的项目克隆下来,在本地git库和云上git库建立关联关系 2.vendor[扩展]文件夹是不会上传的,那么下载下来直接运行项目,会报错: D:phpSt ...

  4. HDUOJ------2492Ping pong

    Ping pong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  5. 【LeetCode】124. Binary Tree Maximum Path Sum

    Binary Tree Maximum Path Sum Given a binary tree, find the maximum path sum. The path may start and ...

  6. Windows系统开机硬盘自检问题解决

    http://blog.sina.com.cn/s/blog_49063a0b0100tf7y.html硬盘开机自检通常都是由于计算机使用者的不合理使用电脑造成的,比如非常正关机,或者遭到病毒侵袭,抑 ...

  7. iOS - App 间的通信方式

    1.前言 iOS 系统是相对封闭的系统,App 各自在各自的沙盒(sandbox)中运行,每个 App 都只能读取 iPhone 上 iOS 系统为该应用程序程序创建的文件夹 AppData 下的内容 ...

  8. python学习笔记——

    python线程的GIL GIL (全局解释器锁)python --- > 支持多线程 ----> 同步和互斥 --->加锁 --->解释器加锁 ————> 解释器同一时 ...

  9. 【转载】BasicDataSource配置说明

    commons DBCP 配置参数简要说明 在配置时,主要难以理解的主要有:removeAbandoned .logAbandoned.removeAbandonedTimeout.maxWait这四 ...

  10. hive sql 行列转换

    -- 对一张大表的每一行,后面加多种label值 -- 其实就是笛卡尔积,举例 -- SELECT * FROM dev.dev_jiadian_user_yuge_temp -- CROSS JOI ...