public abstract class DBHelper
{
public static string connectionString = @"DATA SOURCE=.\sqldata;UID=sa;PWD=bkin123;DATABASE=bkintest";//ConfigurationManager.ConnectionStrings["database"].ConnectionString;
public DBHelper()
{
//connectionString = @"DATA SOURCE=(local);UID=sa;PWD=sa;DATABASE=db";
} #region 不带参数
//执行不带参数数据记录的增、删、改操作,并返回执行后的结果值
public static int ExecuteCommand(string safeSql)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
int result = cmd.ExecuteNonQuery();
return result;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} //返回执行不带参数SQL语句后中结果集的第一行第一列
public static object GetScalar(string safeSql)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
object result = cmd.ExecuteScalar();
return result;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} //返回执行不带参数SQL语句后的结果数据表
public static DataTable GetDataTable(string safeSql)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[];
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
#endregion #region 带参数
//执行带参数数据记录的增、删、改操作,返回执行后的结果值
public static int ExecuteCommand(string safeSql, params SqlParameter[] values)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} //返回执行带参数SQL语句后中结果集的第一行第一列
public static object GetScalar(string safeSql, params SqlParameter[] values)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
cmd.Parameters.AddRange(values);
object result = cmd.ExecuteScalar();
return result;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} //返回执行带参数SQL语句后的结果数据表
public static DataTable GetDataTable(string safeSql, params SqlParameter[] values)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(safeSql, connection))
{
try
{
connection.Open();
DataSet ds = new DataSet();
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[];
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
}
#endregion
}

SqlHelper2的更多相关文章

  1. 微软版的SqlHelper.cs类

    一,微软SQLHelper.cs类 中文版: using System; using System.Data; using System.Xml; using System.Data.SqlClien ...

  2. web框架前言与学生数据库系统(附1.0源码)

    对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. import socket def f1(request): ""&quo ...

随机推荐

  1. masonry 基本用法

    一:masonry 基本用法 fistView=[[UIView alloc] init]; fistView.backgroundColor=[UIColor redColor]; [self.vi ...

  2. GOF提出的23种设计模式是哪些 设计模式有创建形、行为形、结构形三种类别 常用的Javascript中常用设计模式的其中17种 详解设计模式六大原则

    20151218mark 延伸扩展: -设计模式在很多语言PHP.JAVA.C#.C++.JS等都有各自的使用,但原理是相同的,比如JS常用的Javascript设计模式 -详解设计模式六大原则 设计 ...

  3. maven私服不能重复部署解决

    1.报错 Return code is: 400, ReasonPhrase: Repository does not allow updating assets: maven-releases. 2 ...

  4. idea 配置 maven 项目

    maven 项目  用模块引入进来 1.引入  pom.xml 2.如果不是web则要添加web支持 3.配置资源  类  和依赖  and 项目语言环境 5.配置  artifacts 部署   w ...

  5. 【ML入门系列】(二)分类与回归

    前言 在机器学习中,“分类”和“回归”这两个词经常听说,但很多时候我们却混为一谈.本文主要从应用场景.训练算法等几个方面来叙述两者的区别. 本质区别 分类和回归的区别在于输出变量的类型.分类的输出是离 ...

  6. 聊聊IOCP,聊聊异步编程

    *:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...

  7. 【Clojure 基本知识】 ns宏的 指令(关键字) requrie的用法

    指令(:require)用在(ns)之中,下面是实践中总结的几种用法(下文中省略ns宏,只是给出:require的代码): 一.导入完整名称空间. 1,最简单的形式: (:require clojur ...

  8. 【QT】QT更改构建目录

    菜单“工具”-“选项”. Qt Creator怎样更改默认构建目录_百度经验 https://jingyan.baidu.com/article/6181c3e0b9d170152ef153af.ht ...

  9. 高并发分布式系统中生成全局唯一(订单号)Id

    1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(DateTime),这样我们将时间信息与GUID组合 ...

  10. Pointer-network的tensorflow实现-1

    pointer-network是最近seq2seq比较火的一个分支,在基于深度学习的阅读理解,摘要系统中都被广泛应用. 感兴趣的可以阅读原paper 推荐阅读 https://medium.com/@ ...