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. 细说Mysql四种安装方法及自动化部署

    一.简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文件中,但是 ...

  2. 【JWPlayer】官方JWPlayer去水印步骤

    在前端播放视频,现在用html5的video标签已经是一个不错的选择,不过有时候还是需要用StrobeMediaPlayback.JWPlayer这一类的flash播放器,JWPlayer的免费版本带 ...

  3. 趣味题:恺撒Caesar密码(c++实现)

    描述:Julius Caesar 生活在充满危险和阴谋的年代.为了生存,他首次发明了密码,用于军队的消息传递.假设你是Caesar 军团中的一名军官,需要把Caesar 发送的消息破译出来.并提供给你 ...

  4. CRM 2013 系统设置新功能一:界面自动保存 及 SDK 中 Xrm.Page.data.entity.save

    CRM 2013 界面会自动保存了..在系统设置中默认“是”,如果不需要可以调整. CRM实体记录在新建时会有出现“保存”按钮,非新建状态下,没有“保存”按钮只有“新建”按钮,系统将会自动为你保存最后 ...

  5. CSS重置样式表

    网页设计,让人最头疼的莫过于让页面兼容各大浏览器,准确些是兼容它们“默认”的CSS样式表.第一种方式 * {margin:0px; padding:0px;} 这行代码虽然简单,但却让网页解析太慢.于 ...

  6. [ html canvas globalCompositeOperation ] canvas绘图属性 设置合成图像如何显示 属性演示

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  7. Sharepoint 2013 开启App和配置App

    在任何站点中,点Add App,然后点Sharepoint Store,如果没有Enable apps,打开app store的时候出出现错误: Sorry, apps are turned off. ...

  8. Thread.CurrentPrincipal & HttpContext.Current.User

    据说要这样写才稳妥 // This principal will flow throughout the request.VoyagerPrincipal principal = new Voyage ...

  9. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

  10. OC中几种集合的遍历方法(数组遍历,字典遍历,集合遍历)

    // 先分别初始化数组.字典和集合,然后分别用for循环.NSEnumerator枚举器和forin循环这三个方法来实现遍历 NSArray *array = @[@"yinhao" ...