/*
/' `\/ `.
. .' : `. `.
\\.' , `.` `.
`. ,___/|\. `. :
. \, .'./ ' '\ , '
.\ . \_.~ _; ; \/'.
`\ ..._`. : /.. ../
/' _._ \. ~ .' `\:
/'.'@ ` .---. `.
.' : ' @ `.\. \
/ ./`.._./ ~ . :\ `. __
.' / ( \....' `. .' /' `.
/'''\ .' `. / \ : ;' .' ..:
.' ; `\; : : : : .' : ; :
: `\. `\. ; : \.' " ' ;
`. `. \ / s . / `. .'
` . `. `\ `. ; /' ;___ ;
`. `. `. ` ; ;:__..'
`. `. `. :` ': _.' .' ; :
`. `. .\x./-`--...../' ; :
`. ..-:..-' ( :
`---'`. `; :
`. `,.. : :
`. `. `.___;
`. `.
`. `;
`-.,'
女神保佑 永无BUG
*/ public static class SQLHelper
{
private static SqlConnection Con;
private static SqlCommand cmd;
private static DataTable dt;
private static DataSet ds;
private static SqlDataAdapter da;
private static string sqlstr;
private static void SQLHelper()
{
sqlstr = "";
}
/// <summary>
/// 执行一个sql语句,返回第一行第一个值
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object GetFirstValue(string sql)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
cmd = new SqlCommand(sql, Con);
return cmd.ExecuteScalar();
}
}
/// <summary>
/// 执行一个sql语句,返回受影响行数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int GetNonQuery(string sql)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
cmd = new SqlCommand(sql, Con);
return cmd.ExecuteNonQuery();
}
}
/// <summary>
/// 离线模式填充datatable并返回,数据少可以用此方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDataTableA(string sql)
{
using (Con = new SqlConnection(sqlstr))
{
da = new SqlDataAdapter(sql, Con);
dt = new DataTable();
da.Fill(dt);
return dt;
}
} /// <summary>
/// 根据sql,填充datatable并返回。数据多的时候可以用此方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDataTableB(string sql)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
cmd = new SqlCommand(sql, Con);
dt = new DataTable();
SqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
Con.Close();
return dt;
}
}
/// <summary>
/// 传入sql语句集,返回一个dataset
/// </summary>
/// <param name="sqllist"></param>
/// <returns></returns>
public static DataSet GetDataSet(List<string> sqllist)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
ds = new DataSet();
foreach (string c in sqllist)
{
cmd = new SqlCommand(c, Con);
dt = new DataTable();
SqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
ds.Tables.Add(dt);
}
Con.Close();
return ds;
}
}
/// <summary>
/// 在事务中执行多条sql语句
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static bool ExecSQLSList(List<string> list)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
SqlTransaction tran = Con.BeginTransaction();
try
{
foreach (string sql in list)
{
cmd = new SqlCommand(sql, Con);
cmd.ExecuteNonQuery();
}
tran.Commit();
Con.Close();
return true; }
catch
{
tran.Rollback();
return false;
}
finally
{
Con.Close();
Con.Dispose();
}
} } /// <summary>
/// 执行一个不带参数的存储过程,返回datable
/// </summary>
/// <param name="StoredProcedureName"></param>
/// <returns></returns>
public static DataTable GetDataTableByStoredProcedure(string StoredProcedureName)
{
using (Con = new SqlConnection(sqlstr))
{
Con.Open();
cmd = new SqlCommand();
cmd.CommandText = StoredProcedureName;
cmd.CommandType = CommandType.StoredProcedure;
dt = new DataTable();
dt.Load(cmd.ExecuteReader());
return dt;
}
} }

备用~

自己写的操作sql的公共类的更多相关文章

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

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

  2. C#操作SQL Server通用类

    using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...

  3. 操作Sql数据库帮助类

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

  4. C# 操作SQL Server 公共库

    基本够用,存一下,以后找起来方便 public abstract class DB { //数据库连接字符串(config来配置) protected static string connection ...

  5. 写一个操作 .ini文件的类

    class IniHelp { private string iniPath; [DllImport("kernel32")] private static extern long ...

  6. 自己封装的C#操作redis公共类

    关于C#操作redis公共类,网上有很多版本,每个版本我都看了,发觉还是不够完美,都存在一个问题,只能操作单一的缓存数据库 redis指令支持上,这里可以自己去扩展,下面分享下我近期封装的一个redi ...

  7. dedecms清空所有文章怎么操作?sql语句如何写?

    小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...

  8. C#通过SC命令和静态公共类来操作Windows服务

    调用的Windows服务应用程序网址:http://www.cnblogs.com/pingming/p/5115304.html 一.引用 二.公共静态类:可以单独放到类库里 using Syste ...

  9. php操作oracle的方法类集全

    在网上开始找php中操作oracle的方法类~ 果然找到一个用php+oracle制作email表以及插入查询的教程,赶忙点开来看,从头到尾仔细的看了一遍,还没开始操作,便觉得收获很大了.地址在此:h ...

随机推荐

  1. Delphi下URL汉字编码解码的两个函数

    //汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var  Idx: Integ ...

  2. Centos6.5升级gcc for qt5.3.1

    1.升级GCC CentOS6.5内置的GCC版本为4.4,而Qt5.2.1则需要4.8.2的支持(支持C++ 11特性),因此,必须先升级GCC wget http://ftp.tsukuba.wi ...

  3. const和define的区别

    1.在使用const定义常量时,只能使用标量初始化; 但我们可以使用任何表达式初始化define定义的常量 2.我们可以在条件表达式中使用define定义常量,但绝对不能使用const eg: def ...

  4. MySQL存储过程的基本函数

    (1).字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2 [,... ]) //连接字串 INSTR (string ,substring ) //返回subst ...

  5. 服务端API的OAuth认证实现

    http://stackoverflow.com/questions/12499602/body-joints-angle-using-kinect?rq=1 新浪微博跟update相关的api已经挂 ...

  6. 略谈cpu架构种类

    一直对x86/i386/i686/x86_64这些东西感觉很不清楚,查些资料,解决部分问题,小记一番. Question1:什么是x86? x86或80x86是英特尔Intel首先开发制造的一种微处理 ...

  7. C#中使用日志类,添加dll时出现错误

    警告 1 未能解析引用的程序集 “log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, proces ...

  8. ORA-01950: 对表空间 'NAMETABLESPACE' 无权限

    只要将Role下的Resource权限赋予给当前用户即可解决上述问题.

  9. 自定义配置文件的使用(web.config/app.config)

    以下非原创作品,但都是自己看过理解并写过,记录下来,以便之后项目的使用或其它用途. (1)只需要简单配置单一属性值: <configuration> <configSections& ...

  10. hadoop笔记之Hive的数据存储(桶表)

    Hive的数据存储(桶表) Hive的数据存储(桶表) 桶表 桶表是对数据进行哈希取值,然后放到不同文件中存储. 比如说,创建三个桶,而创建桶的原则可以按照左边表中学生的名字来创建对应的桶.这样子把左 ...