using System.Data;
using System.Data.SqlClient;
using System.Configuration; namespace WindowsFormsApp3
{
public class DbHelper
{
private static string connStr = ConfigurationManager.ConnectionStrings["Demo"].ToString(); /// <summary>
/// 根据Sql语句返回Table类型数据
/// </summary>
/// <param name="sql">查询Sql语句</param>
/// <returns>Table</returns>
/// <SqlParameter>SqlParameter</SqlParameter>
public static DataTable GetDataTable(string sql, SqlParameter[] sqlParameter = null)
{
DataSet ds = new DataSet();
using (SqlConnection sqlConn = new SqlConnection(connStr))
{
sqlConn.Open();
if (sqlConn.State == ConnectionState.Open)
{
using (SqlCommand cmd = new SqlCommand(sql, sqlConn))
{
if (sqlParameter != null && sqlParameter.Length > )
cmd.Parameters.AddRange(sqlParameter);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
}
}
}
return ds.Tables[];
} /// <summary>
/// 查询数据库是否存在数据
/// </summary>
/// <param name="sql">查询Sql语句</param>
/// <param name="sqlParameter">查询参数</param>
/// <returns>存在返回True,不存在返回False</returns>
public static bool DataIsHasRows(string sql, SqlParameter[] sqlParameter = null)
{
bool HasRows = false;
using (SqlConnection sqlConn = new SqlConnection(connStr))
{
sqlConn.Open();
if (sqlConn.State == ConnectionState.Open)
{
using (SqlCommand cmd = new SqlCommand(sql, sqlConn))
{
if (sqlParameter != null && sqlParameter.Length > )
cmd.Parameters.AddRange(sqlParameter);
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
HasRows = true;
}
}
}
}
}
return HasRows;
}
/// <summary>
/// 执行Sql语句返回受影响行数
/// </summary>
/// <param name="sql">Sql语句</param>
/// <param name="sqlParameter">Sql参数</param>
/// <returns>返回受影响行数</returns>
public static int ExecNonQuery(string sql, SqlParameter[] sqlParameter =null)
{
int num = ;
try
{
using (SqlConnection sqlConn = new SqlConnection(connStr))
{
sqlConn.Open();
if (sqlConn.State == ConnectionState.Open)
{
using (SqlCommand cmd = new SqlCommand(sql, sqlConn))
{
if (sqlParameter != null && sqlParameter.Length > )
cmd.Parameters.AddRange(sqlParameter);
num = cmd.ExecuteNonQuery();
}
}
}
return num;
}
catch
{
return -;
} }
/// <summary>
/// 返回第一行第一列内容
/// </summary>
/// <param name="sql"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static string ExecScalar(string sql, SqlParameter[] sqlParameter = null)
{
string value = "";
using (SqlConnection sqlConn = new SqlConnection(connStr))
{
sqlConn.Open();
if (sqlConn.State == ConnectionState.Open)
{
using (SqlCommand cmd = new SqlCommand(sql, sqlConn))
{
if (sqlParameter != null && sqlParameter.Length > )
cmd.Parameters.AddRange(sqlParameter);
value = cmd.ExecuteScalar().ToString();
}
}
}
return value;
}
}
}
App.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<connectionStrings>
<add name="Demo" connectionString="Data Source=127.0.0.1;Initial Catalog=AdventureWorks;Persist Security Info=True;User ID=sa;Password=Sa123"/>
</connectionStrings>
</configuration>

自己整理的的数据操作DbHelper的更多相关文章

  1. SQL不同服务器数据库之间的数据操作整理(完整版)

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  2. 我的DbHelper数据操作类

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  3. DbHelper数据操作类

    摘要:本文介绍一下DbHelper数据操作类 微软的企业库中有一个非常不错的数据操作类.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过 ...

  4. 转载-SQL不同服务器数据库之间的数据操作整理(完整版) .

    ---------------------------------------------------------------------------------- -- Author : htl25 ...

  5. 我的DbHelper数据操作类(转)

    其实,微软的企业库中有一个非常不错的数据操作类了.但是,不少公司(起码我遇到的几个...),对一些"封装"了些什么的东西不太敢用,虽然我推荐过微软的企业库框架了...但是还是要&q ...

  6. C#调用C++的DLL搜集整理的所有数据类型转换方式

    //C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byt ...

  7. SQLServer服务器数据库之间的数据操作(完整版)

    分类: 数据库开发技术 ---------------------------------------------------------------------------------- -- Au ...

  8. 【summary】JQuery 相关css、ajax、数据操作函数或方法

    总结一下JQuery常用的函数方法,更加系统的整理一下. JQuery遍历的一些函数: 函数 描述 .add() 将元素添加到匹配元素的集合中. .andSelf() 把堆栈中之前的元素集添加到当前集 ...

  9. Android 常用数据操作封装类案例

    1.DbHelper类 继承自SQLiteOpenHelper类,实现对数据库的基本操作 package com.example.utils; import android.content.Conte ...

随机推荐

  1. 2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_2-2微服务项目的搭建-SpringBoot搭建多模块项目二

    一些重要的配置文件直接复制过来了 jdbc和shiro的配置 application.properties里面的相关配置项的含义 日志界别的配置 数据返回到前端的json的配置 数据源的配置 需要新建 ...

  2. Ubuntu 18.04 下 PostgreSQL 10 的安装与基础配置

    下载安装 在命令行执行如下语句: apt-get install postgresql-10 该指令会帮助你下载如下PostgreSQL组件: name |explain | ------------ ...

  3. Spring Boot连接MySQL报错“Internal Server Error”的解决办法

    报错信息如下: {timestamp: "2018-06-14T03:48:23.436+0000", status: 500, error: "Internal Ser ...

  4. 利用Anaconda搭建TensorFlow环境并在Jupyter Notebook使用

    打开Anaconda Prompt 创建一个tensorflow 虚拟环境:conda create -n tensorflow python=3.6 激活tensorflow虚拟环境activate ...

  5. webdriervAPI(控制浏览器及简单元素操作)

    from  selenium  import  webdriver driver  =  webdriver.Chorme() driver.get("http://www.baidu.co ...

  6. 当微信小程序遇到AR(二)

    当微信小程序遇到AR,会擦出怎么样的火花?期待与激动...... 通过该教程,可以从基础开始打造一个微信小程序的AR框架,所有代码开源,提供大家学习. 本课程需要一定的基础:微信开发者工具,JavaS ...

  7. 什么是UEFI

    UEFI是什么?也许我们大多数用户对这个概念很模糊.uefi可以做什么,有什么具体的应用?虽然不知道具体是做什么的,但是我们经常会在BIOS设置中发现UEFI的踪迹.因为现在越来越多的电脑已经使用了U ...

  8. Unit Testing, Integration Testing and Functional Testing

    转载自:https://codeutopia.net/blog/2015/04/11/what-are-unit-testing-integration-testing-and-functional- ...

  9. MemCache在.NET中使用Memcached.ClientLibrary详解

    本文说明:memcached分布式缓存的负载均衡配置比例,数据压缩,socket的详细配置等,以及在.net中的常用方法 首先下载客户端的3个dll,ICSharpCode.SharpZipLib.d ...

  10. [OpenCV] sift demo

    运行环境:vs2012+opencv320 sift 需要的头文件为 <opencv2/xfeatures2d.hpp> #include <opencv2/opencv.hpp&g ...