/*
/' `\/ `.
. .' : `. `.
\\.' , `.` `.
`. ,___/|\. `. :
. \, .'./ ' '\ , '
.\ . \_.~ _; ; \/'.
`\ ..._`. : /.. ../
/' _._ \. ~ .' `\:
/'.'@ ` .---. `.
.' : ' @ `.\. \
/ ./`.._./ ~ . :\ `. __
.' / ( \....' `. .' /' `.
/'''\ .' `. / \ : ;' .' ..:
.' ; `\; : : : : .' : ; :
: `\. `\. ; : \.' " ' ;
`. `. \ / 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. Oracle日志性能查看

    http://blog.chinaunix.net/uid-20784775-id-373968.html http://www.orafaq.com/wiki/Scripts https://com ...

  2. Delphi使用Windows API函数AnimateWindow实现窗体特效

    {**********************************************************************API函数 AnimateWindow 使用:函数功能:窗 ...

  3. VC实现将对话框最小化到系统托盘

    1.minisysDlg.h头文件设置: 1)public: void setTray();//设置托盘    NOTIFYICONDATA nid;//NOTIFYICONDATA结构包含了系统用来 ...

  4. Egret的若干局限

    Egret是个好东西,整套workflow用下来,特别顺手,对于移动端游戏的开发来说,选择Egret无疑是个不二的选择. 当然,小学语文课上老师就教过一种写作手法,欲扬先抑,笔者今天倒过来,来说说Eg ...

  5. 【POJ】2318 TOYS ——计算几何+二分

    TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 10281   Accepted: 4924 Description ...

  6. 全国计算机等级考试二级教程-C语言程序设计_第11章_对函数的进一步讨论

    无论传递什么参数,函数都有副本机制 改变一个变量,需要传入变量的地址 改变一个指针变量,需要传入指针变量的地址 //int add(int a, int b);挖取函数声明 //int ()(int ...

  7. window快捷登陆linux的的设置方式(设置ssh的config配置)

    看看网上其他人如何写的: http://www.xuebuyuan.com/414672.html 文中~的意思是用户目录下的意思: http://blog.csdn.net/newjueqi/art ...

  8. POJ1042 Gone Fishing

    采用贪心策略. 假设他从1湖泊走到x 湖泊,这还剩下 h*12 - sigma(T1--Tx-1).(单位时间为5分钟).然后再用剩下的时间去钓1-x的湖泊的鱼. 每次都选择最多鱼的湖泊钓. code ...

  9. UC浏览器开发者版调试手机页面

    1 关于RI 目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,我们使用技术将手机网页调试信息分离,实现一种能在大 ...

  10. easyui的样式easyui-textbox的一个bug

    easyui-testbox这个样式很恶心,用了这个就不能用传统的JQ来取值了,最近在使用上又发现了一个问题,就是赋值为0时,在输入框上会不显示,坑. <input class="ea ...