using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Text; namespace YcTools
{
/// <summary>C# SQL数据库助手类2.0</summary>
public class YSqlHelper
{
//Sql连接语句
/*注意引用System.Configuration
* <connectionStrings>
* <add name="YcSqlCon"
* connectionString="Data Source=服务器;Initial Catalog=数据库;User ID=登录名;Password=密码"
* providerName="System.Data.SqlClient"/>
* </connectionStrings>
*/
// private string connectionString = ConfigurationManager.ConnectionStrings["YcSqlCon"].ConnectionString;
private string connectionString = "";
public YSqlHelper(string sqlPath)
{
//实例化对应的数据库链接
connectionString = ConfigurationManager.ConnectionStrings[sqlPath].ConnectionString;
} /// <summary>执行不带参数的增删改SQL语句或存储过程 ,返回受影响的行数</summary>
public int ExecuteNonQuery(string cmdText)
{
int res = ;//受影响的行数
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
res = cmd.ExecuteNonQuery();//执行Sql语句并受影响的行数
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return res;
} /// <summary> 执行带参数的增删改SQL语句或存储过程,返回受影响的行数</summary>
public int ExecuteNonQuery(string cmdText, SqlParameter[] paras)
{
int res = ;//受影响的行数
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddRange(paras);
res = cmd.ExecuteNonQuery();//执行Sql语句并受影响的行数
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return res;
} /// <summary> 执行不带参数的查询SQL语句或存储过程,返回DataTable对象</summary>
public DataTable ExecuteQueryDataTable(string cmdText)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return dt;
} /// <summary> 执行带参数的查询SQL语句或存储过程,返回DataTable对象</summary>
public DataTable ExecuteQueryDataTable(string cmdText, SqlParameter[] paras)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddRange(paras);
using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
}
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return dt;
} /// <summary> 执行不带参数的查询SQL语句或存储过程,返回DataSet对象</summary>
public DataSet ExecuteQueryDataSet(string cmdText)
{
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(ds, "ds");
}
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return ds;
} /// <summary> 执行带参数的查询SQL语句或存储过程,返回DataSet对象</summary>
public DataSet ExecuteQueryDataSet(string cmdText, SqlParameter[] paras)
{
DataSet ds = new DataSet();
using (SqlConnection conn = new SqlConnection(connectionString))
{
try
{
conn.Open();//打开数据库链接
using (SqlCommand cmd = new SqlCommand(cmdText, conn))
{
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddRange(paras);
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(ds, "ds");
}
}
}
catch
{ }
finally
{
if (conn.State == ConnectionState.Open)//判断连接是否处于打开状态
{
conn.Close();//关闭与数据库的链接
}
}
}
return ds;
} /// <summary>查询数据是否存在</summary>
public bool ExecuteDataIsExistByData(string sqlStr)
{
bool iss = false;
DataSet ds = ExecuteQueryDataSet(sqlStr);
for (int i = ; i < ds.Tables.Count; i++)
{
if (ds.Tables[i].Rows.Count > ) iss = true;
}
return iss;
} /// <summary>查询数据是否存在 </summary>
public bool ExecuteDataIsExistByData(string sqlStr, SqlParameter[] paras)
{
bool iss = false;
DataSet ds = ExecuteQueryDataSet(sqlStr, paras);
for (int i = ; i < ds.Tables.Count; i++)
{
if (ds.Tables[i].Rows.Count > ) iss = true;
}
return iss;
} /// <summary>查询增删改数据操作是否成功 </summary>
public bool ExecuteDataIsExistByInt(string sqlStr)
{
int ds = ExecuteNonQuery(sqlStr);
bool iss = ds > ? true : false;
return iss;
} /// <summary>查询增删改数据操作是否成功 </summary>
public bool ExecuteDataIsExistByInt(string sqlStr, SqlParameter[] paras)
{
int ds = ExecuteNonQuery(sqlStr, paras);
bool iss = ds > ? true : false;
return iss;
}
}
}

【C#】SQL数据库助手类2.0(自用)的更多相关文章

  1. 【C#】SQL数据库助手类1.0(自用)

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  2. 数据库助手类 DBHelper

    using System; using System.Collections.Generic; using System.Text; using System.Configuration; using ...

  3. 操作Sql数据库帮助类

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

  4. 强类型sql生成助手类

    不使用表达式树,使用强类型生成where子句,好处是性能高,相比表达式树生成的sql,10倍+ 目前只支持生成where条件.查询语句,后期会增加生成Update SQL where子句支持相等.比较 ...

  5. 个人博客设计:创建Sql数据库操作类。

    整体的博客框架如下 数据库操作java类如下 package com.yxq.dao; import java.sql.Connection; import java.sql.DriverManage ...

  6. C#对SQL数据库操作类简介:Connection、Command、DataReader、DataSet、DataAdapter

    在说C#操作数据库之前需要先说下ADO.NET.ADO.NET的名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在以往的Microsoft技术中访问数据.之所以使 ...

  7. .net C# Sql数据库SQLHelper类

    using System;using System.Collections.Generic;using System.Text;using System.Collections;using Syste ...

  8. ADO.NET数据库操作助手类

    SQL语句操作增删查改助手类 using System; using System.Collections.Generic; using System.Configuration; using Sys ...

  9. 使用sqlmetal工具自动生成SQL数据库的Linq类文件

    第一部:找到sqlmetal.exe. 运行cmd. 执行命令 cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5 ...

随机推荐

  1. 【Java Saves!】Session 5:计算机器之三--二指禅

    人有十指.人类掰着手指头,发明出了0.1.2-9这十个数字.后来手指头不够用了,便发明出数位(个.十.百.千-)和满十进一的规则,称为十进制. 而计算机靠两个手指头工作.在计算机内部,只有0和1两个数 ...

  2. 学习Scala: 初学者应该了解的知识

    Scala开发参照清单 这里列出在开发一个Scala工程中需要参照的资料. 官网网站 http://www.scala-lang.org/ 文档网站 http://docs.scala-lang.or ...

  3. IOS缓存机制详解

    资料均来自互联网,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任. 人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要 ...

  4. [js开源组件开发]-手机端照片预览组件

    手机端照片预览组件 可怜的我用着华为3C手机,用别人现成的组件都好卡,为了适应我这种屌丝,于是自己简化写了一版的照片预览效果,暂时无缩放功能,以后可能有空再加吧,你也可以自己加下,这是个github上 ...

  5. 浅谈React受控与非受控组件

    背景 React内部分别使用了props, state来区分组件的属性和状态.props用来定义组件外部传进来的属性, 属于那种经过外部定义之后, 组件内部就无法改变.而state维持组件内部的状态更 ...

  6. 我在用的mac软件(2)-终端环境之zsh和z(*nix都适用)

    继续上篇介绍我的终端环境.这篇介绍zsh和z,其实这不局限于os x,在所有的*nix系统中都是可用的. zsh zsh作为bash的替代品,自然很多人要问:why zsh? 在Zsh Worksho ...

  7. dict和set

    #dict和set #dict #Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map #使用键-值(key-value)存储,具有极快的查找速度. #字 ...

  8. 内存管理2(主讲MRR)

    内存管理2 我们讨论过properties 后,所有的内存管理系统都是通过控制所有对象的生命周期来减少内存的占用.iOS和OS X应用程序完成这些是通过对象拥有者来实现的,它保证了只要对象使用就会存在 ...

  9. git报错 error: cannot stat ‘file’: Permission denied

    切换分支时报错: error: cannot stat ‘file’: Permission denied 解决方法:退出编辑器.浏览器.资源管理器等,然后再切换就可以了.

  10. NSTimer定时器的使用

    前言:这是关于NSTimer的学习笔记. 正文内容大纲: 1.关于计时器NSTimer的一个被添加进NSRunLoop的使用细节 2.关于NSTimer常用方法的使用 3.关于NSTimer的类别工具 ...