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. vps虚拟机df -h根分区100%

    前言:今天上午接到一个网友的求助,说是服务器的根分区满了.但是,找不到具体的大文件在哪里.由于故障确实很古怪,我就要来了故障服务器的相关账户密码. 故障服务器相关环境: 系统:Centos 6.5 s ...

  2. 修改Eclipse启动时的选择工作空间

    对于eclipse的默认的工作空间,如果不需要正常切换workspace的用户很方便,打开eclipse便自动进入默认的工作空间.而如果用户经常在多个workspace之间切换的话,启动eclipse ...

  3. Android之FrameWork

    1 Activity的生命周期和启动模式 1.1 Activity的生命周期全面分析 用户正常使用情况下的生命周期 & 由于Activity被系统回收或者设备配置改变导致Activity被销毁 ...

  4. python使用socket向客户端发送数据的方法

    在使用locust测试长连接的时候,所有的请求全部faillure了,所以想到手动写一个连接脚本测试一下是否能连通 因为centos7自带python2.7所以用python写一个比较方便. #!/u ...

  5. mfc中循环显示图片

    UINT CPalmIdentDlg::UpdateCImg(LPVOID p) { struct params *pa = (struct params*)p; int *imgarray = pa ...

  6. 使用Dreamweaver制作简单网站

    上课过程中有的同学反应没有听懂,特写此博客,将dreamweaver使用过程,细化到每一步,跟着做就行. 一.安装dreamweaver. 1.dreamweaver免安装版下载地址 链接:https ...

  7. Git初始化配置以及配置github

    1,配置用户名和邮箱(这里是我github中配置的用户名和邮箱),执行下面命令后,在C:\Users\yaosq盘下会出现一个全局文件.gitconfig. git config --global u ...

  8. 【AtCoder】diverta 2019 Programming Contest

    diverta 2019 Programming Contest 因为评测机的缘故--它unrated了.. A - Consecutive Integers #include <bits/st ...

  9. C++ 简单实现 依赖注入(IOC)

    由于C++ 不支持“反射机制”, 在C++中需要实现依赖注入或控制反转需要增加辅助程序.例如在Windows 开发程序中根据类名动态创建对象,需要在类定义中增加宏.本文主要介绍C++ Ioc的一种实现 ...

  10. Ubuntu18.04中安装Python3.7教程

    Ubuntu18.04中安装Python3.7教程 链接https://blog.csdn.net/weixin_42056625/article/details/82970358