using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace RuPengWang.DAL
{
public class SqlHelper
{
private static readonly string constr = ConfigurationManager.AppSettings["constr"]; /// <summary>
/// 数据表的增、删、改;
/// </summary>
/// <param name="conn"></param>
/// <param name="sql"></param>
/// <param name="sp"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] sp)
{
using (SqlConnection con = new SqlConnection(SqlHelper.constr))
{ return SqlHelper.ExecuteNonQuery(con, sql, sp);
} } public static int ExecuteNonQuery(SqlConnection conn, string sql, params SqlParameter[] ps)
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.AddRange(ps);
return cmd.ExecuteNonQuery();
}
} /// <summary>
/// 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
/// 使用参数数组提供参数
/// </summary>
/// <param name="conn"></param>
/// <param name="sql"></param>
/// <param name="ps"></param>
/// <returns>返回一个object数据</returns>
public static object ExecuteScale(SqlConnection conn,string sql, params SqlParameter[] ps)
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.AddRange(ps);
return cmd.ExecuteScalar();
} }
/// <summary>
/// 执行一条返回第一条记录第一列的SqlCommand命令,通过专用的连接字符串。
/// 使用参数数组提供参数
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="ps">参数</param>
/// <returns>返回一个object数据</returns>
public static object ExecuteScale(string sql, params SqlParameter[] ps)
{
using (SqlConnection conn = new SqlConnection(SqlHelper.constr))
{
return SqlHelper.ExecuteScale(conn, sql, ps);
}
}
/// <summary>
/// 该方法用于读取数据
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="sp">sql参数</param>
/// <returns>SqlDataReader类型</returns>
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] sp)
{
SqlConnection conn = new SqlConnection(constr);
using(SqlCommand cmd=new SqlCommand(sql,conn))
{
cmd.Parameters.AddRange(sp);
try{ conn.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(Exception ex){ conn.Close();
conn.Dispose();
throw ex; } }
} /// <summary>
/// 读取数据返回的是datatable
/// </summary>
/// <param name="sql"></param>
/// <param name="ps"></param>
/// <returns>DataTable</returns>
public static DataTable ExecuteTable(string sql, params SqlParameter[] ps)
{
DataTable dt=new DataTable();
using (SqlDataAdapter da = new SqlDataAdapter(sql, constr))
{
if (ps != null)
{
da.SelectCommand.Parameters.AddRange(ps);
}
da.Fill(dt); }
return dt;
} }
}

  

C#中的操作数据库的SQLHelper类的更多相关文章

  1. 操作数据库的SqlHelper类

    public static class SqlHelper { public static readonly string connstr = ConfigurationManager.Connect ...

  2. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

  3. python MySQLdb用法,python中cursor操作数据库(转)

    数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...

  4. Global.asax中的操作数据库代码无法执行

    本人最近在做一个基于Access数据库的Web应用程序,为了实现一个定时更新数据库的需求,我在Global.asax中的Application_Start函数里写了个计时器, void Applica ...

  5. python中cursor操作数据库(转)

    原文出处:http://doudouclever.blog.163.com/blog/static/175112310201284115340663/ python 操作数据库,要安装一个Python ...

  6. 用于JDBC操作数据库的公共类

    /* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...

  7. 封装类似thinkphp连贯操作数据库的Db类(简单版)。

    <?php header("Content-Type:text/html;charset=utf-8"); /** *php操作mysql的工具类 */ class Db{ ...

  8. Java中数组操作 java.util.Arrays 类常用方法的使用

    任何一门编程语言,数组都是最重要和常用的数据结构之一,但不同的语言对数组的构造与处理是不尽相同的. Java中提供了java.util.Arrays 类能方便地操作数组,并且它提供的所有方法都是静态的 ...

  9. C# ADO.NET操作数据库 SqlHelp.cs类

    刚开始练习ADONET的时候,练习的一个SQLHelp.cs  数据库操作类,很简单,但是也很实用 using System; using System.Collections.Generic; us ...

随机推荐

  1. c#解析xml字符串 分析 EntityName 时出错

    因为xml字符串中的特殊html字符被转义了,怎么防止转义呢,可以在xml内加上<![CDATA[返回内容]] 这样可以防止特殊字符被转义,就好像微信公共平台消息传递也都是xml格式他们也都加& ...

  2. bzoj3639: Query on a tree VII

    Description You are given a tree (an acyclic undirected connected graph) with n nodes. The tree node ...

  3. 关于存储的--b

    iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...

  4. TF-IDF与余弦相似性的应用

    类似的算法已经被写成了工具,比如基于Java的Classifier4J库的SimpleSummariser模块.基于C语言的OTS库.以及基于classifier4J的C#实现和python实现.

  5. linux在shell中获取时间

    linux在shell中获取时间 获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今 ...

  6. Com进程通信(有详细步骤)

    http://www.cnblogs.com/FKdelphi/p/5772950.html

  7. texedo 分布式事务

    1.问题现象 但是实际情况,完全出乎笔者的想法.检查一般对象数据表锁定,只需要检查v$locked_object和v$transaction视图,就可以定位到具体人.但是检查之后的结果如下: SQL& ...

  8. [转载][HTML] 普通的DIV分层以及版透明效果

    来源忘记哪的了,我稍微做了点修改,想了想还是挂了转载的标签,嗯嗯: <html> <head> <title>EXAMPLE</title> </ ...

  9. Ubuntu安装ARM架构GCC工具链(ubuntu install ARM toolchain)最简单办法

    一.安装ARM-Linux-GCC工具链 只需要一句命令: sudo apt-get install gcc-arm-linux-gnueabi 前提是你的Ubuntu系统版本是官网支持的最新的版本, ...

  10. 导出C++ dll文件

    方法1. 直接新建 Qt dll library, 使用工程自动创建的宏定义 方法2. (1)新建一个Empty的Win32项目(如ExampleDLL),选择Application type 为DL ...