using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace Yido.AdoNet.ToSQLServer
{
/// <summary>
/// SQLHelper帮助类库
/// </summary>
public class SQLHelper
{
//读书数据库连接字符串
static readonly string connStr = ConfigurationManager.ConnectionStrings["YidoConn"].ConnectionString;
/// <summary>
/// 执行添加、删除、更新操作
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string cmdText, CommandType commandType, params SqlParameter[] sqlParameters)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();//打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand();//创建SqlCommand对象
sqlCmd.CommandText = cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters);
return sqlCmd.ExecuteNonQuery();
}
}
/// <summary>
/// 异步执行添加、删除、更新操作
/// </summary>
/// <param name="cmdText"></param>
/// <param name="cmdType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static async Task<int> ExecuteNonQueryAsync(string cmdText, CommandType commandType, params SqlParameter[] sqlParameters)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
await conn.OpenAsync(); //异步打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand();
sqlCmd.CommandText = cmdText;//设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters); //添加参数
return await sqlCmd.ExecuteNonQueryAsync();
}
}
/// <summary>
/// 获取SqlDataReader数据流
/// 使用完毕后,必须关闭SqlDataReader对象
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static SqlDataReader GetSqlDataReader(string cmdText,CommandType commandType, params SqlParameter[] sqlParameters)
{
SqlConnection conn = new SqlConnection(connStr);
conn.Open();//打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand(); //创建SqlCommand对象
sqlCmd.CommandText= cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters);//添加参数
//关闭SqlDataReader对象后其依赖的数据库连接也关闭
return sqlCmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 异步获取SqlDataReader数据流
/// 使用完毕后,必须关闭SqlDataReader对象
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static async Task<SqlDataReader> GetSqlDataReaderAsync(string cmdText,CommandType commandType,params SqlParameter[] sqlParameters)
{
SqlConnection conn = new SqlConnection(connStr);
await conn.OpenAsync();//打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand();
sqlCmd.CommandText= cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters); //添加参数
//关闭SqlDataReader对象后其依赖的数据库连接也关闭
return await sqlCmd.ExecuteReaderAsync(CommandBehavior.CloseConnection);
}
/// <summary>
/// 获取首列首行的值
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static object ExecuteScalar(string cmdText, CommandType commandType, params SqlParameter[] sqlParameters)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open(); //打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand();
sqlCmd.CommandText= cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters);//添加参数
return sqlCmd.ExecuteScalar();
}
}
/// <summary>
/// 异步获取首行首列的值
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static async Task<object?> ExecuteScalarAsync(string cmdText, CommandType commandType, params SqlParameter[] parameters)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
await conn.OpenAsync(); //打开数据库连接
SqlCommand sqlCmd = conn.CreateCommand();
sqlCmd.CommandText= cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(parameters); //添加参数
return await sqlCmd.ExecuteScalarAsync();
}
}
/// <summary>
/// 获取DataTable数据表
/// </summary>
/// <param name="cmdText"></param>
/// <param name="commandType"></param>
/// <param name="sqlParameters"></param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string cmdText, CommandType commandType, params SqlParameter[] sqlParameters)
{
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
SqlCommand sqlCmd = conn.CreateCommand();
sqlCmd.CommandText= cmdText; //设置SQL语句
sqlCmd.CommandType = commandType; //设置命令类型
sqlCmd.Parameters.AddRange(sqlParameters); //添加参数
SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
}
}
}
SQLHelper帮助类库
原创
©著作权归作者所有:来自51CTO博客作者甲方那个哥的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Ado.NET练习
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SqlHelper类执行数据库
class SqlHelper {
sql scala -
c# 公共类SqlHelper
ADO.NET操作数据库公共方法一示例using System;using System.Collections.Generic;usi
c# 公共类SqlHelper ADO.NET操作数据库公共方法 Text sql语句 存储过程 -
利用HoughLinesP 检测矩形
在数字图像中,往往存在着一些特殊形状的几何图形,像检测马路边一条直线,检测人眼的圆形等等,有时我们需要把这些特定图形检测出来,hough变换就是这样一种检测的工具。Hough变换的原理是将特定图形上的点变换到一组参数空间上,根据参数空间点的累计结果找到一个极大值对应的解,那么这个解就对应着要寻找的几何形状的参数(比如说直线,那么就会得到直线的斜率k与常熟b,圆就会得到圆心与半径等等)。关于houg
利用HoughLinesP 检测矩形 hough变换就是这样一种检测的工具。 hough变换 参数空间 二值图像