请引用

using System.Data;
using System.Data.SqlClient;

两个命名空间。

可以满足常用的数据集,读取多条数据,以及增删改操作

代码:

 /// <summary>
/// DBHelper 的摘要说明
/// </summary>
public class SqlDbHelper
{
/// <summary>
/// Contacts数据库的连接字符串
/// </summary>
public static readonly string connString = ConfigurationManager.ConnectionStrings["ContactsConnStr"].ConnectionString;
/// <summary>
/// 返回数据集以及他们的重载
/// </summary>
/// <param name="commandText"></param>
/// <param name="commandType"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static DataTable ExecuteDataTable(string commandText, CommandType commandType, SqlParameter[] parameters)
{
DataTable data = new DataTable();//实例化 DataTable,用于装载查询结果集
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand command = new SqlCommand(commandText, connection))
{
//设置 command 的 CommandType 为指定的 CommandType
command.CommandType = commandType;
//如果同时传入了参数,则添加这些参数
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
//通过包含查询 SQL 的 SqlCommand 实例来实例化 SqlDataAdapter
SqlDataAdapter adapter = new SqlDataAdapter(command);
adapter.Fill(data);//填充 DataTable
}
}
return data;
}
public static DataTable ExecuteDataTable(string commandText)
{
return ExecuteDataTable(commandText, CommandType.Text, null);
}
public static DataTable ExecuteDataTable(string commandText, CommandType commandType)
{
return ExecuteDataTable(commandText, commandType, null);
}
/// <summary>
/// SqlDataReader 获取多条语句以及重载
/// </summary>
/// <param name="commandText"></param>
/// <param name="commandType"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string commandText, CommandType commandType, SqlParameter[] parameters)
{
SqlConnection connection = new SqlConnection(connString);
SqlCommand command = new SqlCommand(commandText, connection);
//设置 command 的 CommandType 为指定的 CommandType
command.CommandType = commandType;
//如果同时传入了参数,则添加这些参数
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();
//CommandBehavior.CloseConnection 参数指示关闭 Reader 对象时
//关闭与其关联的 Connection 对象
return command.ExecuteReader(CommandBehavior.CloseConnection);
}
public static SqlDataReader ExecuteReader(string commandText)
{
return ExecuteReader(commandText, CommandType.Text, null);
}
public static SqlDataReader ExecuteReader(string commandText, CommandType
commandType)
{
return ExecuteReader(commandText, commandType, null);
}
/// <summary>
/// 检索单个值的 ExecuteScalar 方法以及重载
/// </summary>
/// <param name="commandText"></param>
/// <param name="commandType"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static Object ExecuteScalar(string commandText, CommandType commandType, SqlParameter[] parameters)
{
object result = null;
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand command = new SqlCommand(commandText, connection))
{
//设置 command 的 CommandType 为指定的 CommandType
command.CommandType = commandType;
//如果同时传入了参数,则添加这些参数
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();//打开数据库连接
result = command.ExecuteScalar();
}
}
return result;//返回查询结果的第一行第一列,忽略其它行和列
}
public static Object ExecuteScalar(string commandText)
{
return ExecuteScalar(commandText, CommandType.Text, null);
}
public static Object ExecuteScalar(string commandText, CommandType commandType)
{
return ExecuteScalar(commandText, commandType, null);
}
/// <summary>
/// 增删改操作的 ExecuteNonQuery 方法
/// </summary>
/// <param name="commandText"></param>
/// <param name="commandType"></param>
/// <param name="parameters"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string commandText, CommandType commandType,SqlParameter[] parameters)
{
int count = ;
using (SqlConnection connection = new SqlConnection(connString))
{
using (SqlCommand command = new SqlCommand(commandText, connection))
{
//设置 command 的 CommandType 为指定的 CommandType
command.CommandType = commandType;
//如果同时传入了参数,则添加这些参数
if (parameters != null)
{
foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();//打开数据库连接
count = command.ExecuteNonQuery();
}
}
return count;//返回执行增删改操作之后,数据库中受影响的行数
}
public static int ExecuteNonQuery(string commandText)
{
return ExecuteNonQuery(commandText, CommandType.Text, null);
}
public static int ExecuteNonQuery(string commandText, CommandType commandType)
{
return ExecuteNonQuery(commandText, commandType, null);
}
}

后期再补充。。

最新文章

  1. iOS设计模式笔记
  2. &lt;实训|第十三天&gt;linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核
  3. Ajax做分页
  4. AndroidStudio .gitinore编写
  5. 操作sqlserver数据库常用的三个方法
  6. 分布式发布订阅消息系统Kafka
  7. VS生成桌面应用程序
  8. 7、创建ROS msg和srv
  9. openstack常用命令-neutron篇
  10. zTree:一个依靠 jQuery 实现的多功能 “树插件”
  11. leetCoder-wordBreak判断能否分词
  12. css 利用border 绘制三角形. triangle
  13. Hibernate 再接触 继承映射
  14. 【wireshark】插件开发(一):概述
  15. 学习笔记——OS——引论
  16. Linux nl --让输出的文件内容自动加上行号
  17. Spring Tool Suite 配置和使用
  18. EMQ学习---客户链接资源消耗
  19. Qt slot中获取sender
  20. 《Effective C++》第1章 让自己习惯C++-读书笔记

热门文章

  1. ios xcode 下 报出 ”xx“is missing from working copy 的问题
  2. js获取倒计时
  3. MVC中使用Ueditor
  4. Java 后台获取当前时间
  5. Amazon的推荐系统
  6. maven环境终于可以了
  7. U8SDK——游戏接入SDK(只接入抽象框架)
  8. Linux内核--网络栈实现分析(四)--网络层之IP协议(上)
  9. 【C++自绘控件】如何用GDI+来显示图片
  10. android adb install