自己写的操作sql的公共类
/*
/' `\/ `.
. .' : `. `.
\\.' , `.` `.
`. ,___/|\. `. :
. \, .'./ ' '\ , '
.\ . \_.~ _; ; \/'.
`\ ..._`. : /.. ../
/' _._ \. ~ .' `\:
/'.'@ ` .---. `.
.' : ' @ `.\. \
/ ./`.._./ ~ . :\ `. __
.' / ( \....' `. .' /' `.
/'''\ .' `. / \ : ;' .' ..:
.' ; `\; : : : : .' : ; :
: `\. `\. ; : \.' " ' ;
`. `. \ / 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的公共类的更多相关文章
- 用于JDBC操作数据库的公共类
/* * @(#)CommonSql.java 2011-9-5 * * Copyright 2011 Bianjing,All rights reserved. */ import java.sql ...
- C#操作SQL Server通用类
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...
- 操作Sql数据库帮助类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- C# 操作SQL Server 公共库
基本够用,存一下,以后找起来方便 public abstract class DB { //数据库连接字符串(config来配置) protected static string connection ...
- 写一个操作 .ini文件的类
class IniHelp { private string iniPath; [DllImport("kernel32")] private static extern long ...
- 自己封装的C#操作redis公共类
关于C#操作redis公共类,网上有很多版本,每个版本我都看了,发觉还是不够完美,都存在一个问题,只能操作单一的缓存数据库 redis指令支持上,这里可以自己去扩展,下面分享下我近期封装的一个redi ...
- dedecms清空所有文章怎么操作?sql语句如何写?
小C新建了一个站,确切的说是复制,出于seo考虑,决定清空所有文章,那么dedecms清空所有文章怎么操作?sql语句如何写呢?特别提醒:修改之前一定要先做好备份,以防万一!下面的语句在迫不得已的情况 ...
- C#通过SC命令和静态公共类来操作Windows服务
调用的Windows服务应用程序网址:http://www.cnblogs.com/pingming/p/5115304.html 一.引用 二.公共静态类:可以单独放到类库里 using Syste ...
- php操作oracle的方法类集全
在网上开始找php中操作oracle的方法类~ 果然找到一个用php+oracle制作email表以及插入查询的教程,赶忙点开来看,从头到尾仔细的看了一遍,还没开始操作,便觉得收获很大了.地址在此:h ...
随机推荐
- 习题3.4 & 3.5: 求两链表的交集和并集
#include<stdio.h> #include<stdlib.h> struct Node; typedef struct Node *PtrToNode; typede ...
- 经典排序算法(Java实现)
以下程序均将数据封装于DataWrap数据包装类中,如下所示: //数据包装类 class DataWrap implements Comparable<DataWrap> { int d ...
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- Android AsyncHttpClient
Android Asynchronous Http Client A Callback-Based Http Client Library for Android Tweet Downloadve ...
- 使用Vitamio打造自己的Android万能播放器(4)——本地播放(快捷搜索、数据存储)
前言 关键字:Vitamio.VPlayer.Android播放器.Android影音.Android开源播放器 本章节把Android万能播放器本地播放的主要功能(缓存播放列表和A-Z快速查询功能) ...
- Java面试题之Class.forName的作用
按参数中指定的字符串形式的类名去搜索并加载相应的类,如果该类字节码已经被加载过,则返回代表该字节码的Class实例对象,否则,按类加载器的委托机制去搜索和加载该类,如果所有的类加载器都无法加载到该类, ...
- ResultSet与Result
微软的.NET平台上面的数据访问有一个特点,就是数据查询的结果,可以放在内存中,以XML格式进行描述,不需要一直与数据库保持在线连接,用DataSet + Data Adapter来实现! 而在JDB ...
- CSS的W3C标准的盒子模型和低版本IE浏览器的盒子模型
CSS中盒子模型的组成由内容区(content).内边距(padding).边框(border).外边距(margin)组成.内边距可细分为 padding-top.padding-right.pad ...
- Android 数据库ORM框架GreenDao学习心得及使用总结<一>
转: http://www.it165.net/pro/html/201401/9026.html 最近在对开发项目的性能进行优化.由于项目里涉及了大量的缓存处理和数据库运用,需要对数据库进行频繁的读 ...
- Core开发-MVC 使用dotnet 命令创建Controller和View
NET Core开发-MVC 使用dotnet 命令创建Controller和View 使用dotnet 命令在ASP.NET Core MVC 中创建Controller和View,之前讲解过使 ...