tnblog
首页
视频
资源
登录

ado.net基本使用,sqlhelper简单封装,dbhelper简单使用

5070人阅读 2022/10/1 22:45 总访问:307936 评论:0 收藏:0 手机
分类: 数据库

sqlhelper简单封装

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Configuration;
  8. using System.Data;
  9. namespace DAL
  10. {
  11. public class SqlHelper
  12. {
  13. string connstr = "";
  14. public SqlHelper()
  15. {
  16. //读取链接字符串
  17. connstr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString;
  18. }
  19. public int Execute(string sql, List<SqlParameter> param = null)
  20. {
  21. using (SqlConnection conn = new SqlConnection(connstr))
  22. {
  23. conn.Open();
  24. using (SqlCommand com = new SqlCommand(sql, conn))
  25. {
  26. //参数化
  27. if (param != null)
  28. com.Parameters.AddRange(param.ToArray());
  29. return com.ExecuteNonQuery();
  30. }
  31. }
  32. }
  33. public object ExecuteScalar(string sql, List<SqlParameter> param = null)
  34. {
  35. using (SqlConnection conn = new SqlConnection(connstr))
  36. {
  37. conn.Open();
  38. using (SqlCommand com = new SqlCommand(sql, conn))
  39. {
  40. //参数化
  41. if (param != null)
  42. com.Parameters.AddRange(param.ToArray());
  43. return com.ExecuteScalar();
  44. }
  45. }
  46. }
  47. public DataTable QueryTable(string sql, List<SqlParameter> param = null)
  48. {
  49. using (SqlConnection conn = new SqlConnection(connstr))
  50. {
  51. conn.Open();
  52. using (SqlCommand com = new SqlCommand(sql, conn))
  53. {
  54. //参数化
  55. if (param != null)
  56. com.Parameters.AddRange(param.ToArray());
  57. DataTable dt = new DataTable();
  58. SqlDataAdapter sda = new SqlDataAdapter(com);
  59. //把查询结果放入表格
  60. sda.Fill(dt);
  61. return dt;
  62. }
  63. }
  64. }
  65. }
  66. }

简单使用1

  1. public class UsersDAL
  2. {
  3. public List<Users> GetUsers()
  4. {
  5. try
  6. {
  7. SqlServerHelper sqlHelper = new SqlServerHelper();
  8. string sql = "select * from Users";
  9. DataTable dataTable = sqlHelper.QueryTable(sql);
  10. List<Users> WacUsersList = new List<Users>();
  11. //把表格解析中对象集合
  12. for (int i = 0; i < dataTable.Rows.Count; i++)
  13. {
  14. Users user = new Users();
  15. user.Id = Convert.ToInt32(dataTable.Rows[i]["Id"]);
  16. user.UserName = dataTable.Rows[i]["UserName"] + "";
  17. user.Number = dataTable.Rows[i]["Number"] + "";
  18. user.UClass = dataTable.Rows[i]["UClass"] + "";
  19. WacUsersList.Add(user);
  20. }
  21. return WacUsersList;
  22. }
  23. catch (Exception ex)
  24. {
  25. return null;
  26. }
  27. }
  28. }

实体

  1. public class Users
  2. {
  3. public int Id { get; set; }
  4. public string UserName { get; set; }
  5. public string Number { get; set; }
  6. public string UClass { get; set; }
  7. }

测试sql

  1. create table Users
  2. (
  3. Id int primary key identity(1,1),
  4. UserName nvarchar(64),
  5. Number nvarchar(64),
  6. UClass nvarchar(64)
  7. )
  8. select * from Users
  9. insert Users values('貂蝉','NS001','NET52')
  10. insert Users values('吕布','NS002','NET52')
  11. insert Users values('丁原','NS002','NET52')
  12. insert Users values('董卓','NS002','NET52')
  13. insert Users values('王允','NS003','NET52')

简单使用2

  1. using Model;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Data.SqlClient;
  8. using System.Data;
  9. namespace DAL
  10. {
  11. public class UsersDAL
  12. {
  13. /// <summary>
  14. /// 总页数
  15. /// </summary>
  16. /// <returns></returns>
  17. public int GetAllPage(int _rows, string usrename, string number)
  18. {
  19. SqlHelper sh = new SqlHelper();
  20. //sql条件
  21. string sqlparam = "";
  22. List<SqlParameter> splist = new List<SqlParameter>();
  23. if (!string.IsNullOrWhiteSpace(number))
  24. {
  25. sqlparam = " and number=@number ";
  26. splist.Add(new SqlParameter("number", number));
  27. }
  28. if (!string.IsNullOrWhiteSpace(usrename))
  29. {
  30. sqlparam += " and username=@username ";
  31. splist.Add(new SqlParameter("username", usrename));
  32. }
  33. string sql = string.Format("select count(1) from users where 1=1 {0}", sqlparam);
  34. int allcount = Convert.ToInt32(sh.ExecuteScalar(sql, splist));
  35. //总条数变成总页数
  36. int allpage = allcount / _rows;
  37. if (allcount % _rows != 0)
  38. {
  39. allpage++;
  40. }
  41. return allpage;
  42. }
  43. public List<Users> GetUser(int _page, int _rows, string usrename, string number)
  44. {
  45. SqlHelper sh = new SqlHelper();
  46. //1 1-5 (page-1)*rows+1 = (1-1)*5+1=1
  47. //2 6-10 (page-1)*rows+1 = (2-1)*5+1=6
  48. //3 11-15 (page-1)*rows+1 = (3-1)*5+1=11
  49. //sql条件
  50. string sqlparam = "";
  51. List<SqlParameter> splist = new List<SqlParameter>();
  52. if (!string.IsNullOrWhiteSpace(number))
  53. {
  54. sqlparam += " and number=@number ";
  55. splist.Add(new SqlParameter("number", number));
  56. }
  57. if (!string.IsNullOrWhiteSpace(usrename))
  58. {
  59. sqlparam += " and username=@username ";
  60. splist.Add(new SqlParameter("username", usrename));
  61. }
  62. string sql = string.Format(@" select * from ( select *,ROW_NUMBER() over(order by id) as 'rownum' from Users where 1 = 1 {0} )
  63. temp where rownum between {1} and {2} ", sqlparam, (_page - 1) * _rows + 1, _page * _rows);
  64. DataTable dt = sh.QueryTable(sql, splist);
  65. List<Users> ulist = new List<Users>();
  66. //把表格解析中对象集合
  67. for (int i = 0; i < dt.Rows.Count; i++)
  68. {
  69. Users user = new Users();
  70. user.Id = Convert.ToInt32(dt.Rows[i]["Id"]);
  71. user.UserName = dt.Rows[i]["UserName"].ToString();
  72. user.Number = dt.Rows[i]["Number"].ToString();
  73. user.UClass = dt.Rows[i]["UClass"].ToString();
  74. ulist.Add(user);
  75. }
  76. return ulist;
  77. }
  78. }
  79. }
评价

c使用unity实现依赖注入二:基本使用

使用Unity实现依赖注入的基本步骤:1:需要创建一个容器2:给容器添加类与类之间的关系(控制反转)3: 在需要的地方从容器里...

c webservice一:基本使用

什么是webserviceWebservie是一种网络服务是一种与语言无关的服务webserver主要作用:1:可以跨平台跨语言访问2:可以做SOA...

jQuery Validate 验证插件 基本使用

插件引用地址:&lt;scriptsrc=&quot;http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min...

Oracle数据库的认识和基本使用

推荐一个Oracle数据库的一个学习网站:http://www.oraclejsq.com/article/010100110.html一、对Oracle数据库的认识1、数据...

tomcat 的基本使用

一、在webapps文件夹下创建一个自己的文件夹二、在自己的文件夹下面放入自己的资源资源类容三、访问(路径为8080+自己的文...

HTTPSession 的基本使用 1

一、常用方法二、获取三、使用1、创建web项目与功能类2-4、另一个功能类5-6、a、b、

百度编辑器基本使用

很简单,把js引用进来,写点代码都搞定了&lt;!DOCTYPEhtml&gt; &lt;html&gt; &lt;head&gt; &lt;metacharset=&quot;utf-8...

Collection-迭代器基本使用

1、案例:2、迭代器的删除方法:remove()案例:3、增强for4、小结

yum-基本使用更改yum源 01

一、yum在linux当中,如果我们想要查找,安装,下载或者卸载另外的软件,就需要通过yum来进行操作。英文全称是:Yellow dog ...

Kustomize的基本使用

Kustomize的基本使用[TOC] 什么是 Kustomize?Kustomize允许您自定义原始的、无模板的 YAML 文件以用于多种用途,而原始 Y...

vue element ui select,下拉列表。数据绑定,基本使用,数据解析

代码如下: &lt;el-select v-model=&quot;chapterID&quot; style=&quot;width:266px&quot;&gt; &lt;el-option v-f...

docker compose 基本使用。docker compose发布.net core项目

[TOC]docker compose 介绍通过一个配置文件,可以让系统一键启动所有的运行环境,nodejs,mysql,redis,mongodb 等。如果...

.net Source Generators的基本使用

.net Source Generators的基本使用[TOC] Source Generators简介Source Generators是一项C#编译功能,使C#开发人员能够在编...

.net Roslyn的基本使用

.net Roslyn的基本使用[TOC] Roslyn简介Roslyn是C#和Visual Basic编译器的开源实现,具有用于构建代码分析工具的API表面。...

剪映的基本使用。音频如何删除,音频如何删除某一部分,如何修改某张图片的播放时间

默认一张图片只有三秒钟的时间如果不够的话可以拖动修改时间。 音频如何删除?单击选中后下面就有删除选项了。 音频如何...
旧年素颜,君记否
排名
15
文章
52
粉丝
1
评论
2
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术