请选择 进入手机版 | 继续访问电脑版
查看: 339|回复: 2

【C#进阶】SQLite数据库工具类SQLHelper封装

[复制链接]

699

主题

740

帖子

6196

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6196
发表于 2018-3-5 16:36:19 | 显示全部楼层 |阅读模式
主要代码如下,分为了三种获取数据的方式:1.执行查询(多个参数), 可变参数的使用(返回受到影响的行数)
2.获取首行首列值得方法(object就是System.Object的别称,string等价于System.String,int等价于System.Int32)
3.获得查询结果集

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;

  6. //导入命名空间
  7. using System.Configuration;
  8. using System.Data.SQLite;
  9. using System.Data;

  10. namespace _01复习
  11. {
  12.     //封装成为一个工具类
  13.     public static class SqliteHelper
  14.     {
  15.         //从配置文件中读取链接字符串
  16.         private static string connStr = ConfigurationManager.ConnectionStrings["itcasterCater"].ConnectionString;

  17.         //执行命令的三个方法:insert, update, delete
  18.         //1.执行查询(多个参数), 可变参数的使用(返回受到影响的行数)
  19.         public static int ExecuteNonQuery(string sql, params SQLiteParameter[] ps)
  20.         {
  21.             using (SQLiteConnection conn = new SQLiteConnection(connStr))
  22.             {
  23.                 //创建Command对象
  24.                 SQLiteCommand cmd = new SQLiteCommand(sql, conn);
  25.                 //添加参数
  26.                 cmd.Parameters.AddRange(ps);

  27.                 //打开链接
  28.                 conn.Open();
  29.                 //执行命令,返回收到影响的行数
  30.                 return cmd.ExecuteNonQuery();
  31.             }
  32.         }


  33.         //2.获取首行首列值得方法(object就是System.Object的别称,string等价于System.String,int等价于System.Int32)
  34.         public static object ExecuteScalar(string sql, params SQLiteParameter[] ps)
  35.         {
  36.             using (SQLiteConnection conn = new SQLiteConnection(connStr))
  37.             {
  38.                 SQLiteCommand cmd = new SQLiteCommand(sql, conn);
  39.                 cmd.Parameters.AddRange(ps);

  40.                 conn.Open();
  41.                 //执行命令,获得查询结果中的首行首列值,并且返回
  42.                 return cmd.ExecuteScalar();
  43.             }
  44.         }

  45.         //3.获得结果集
  46.         public static DataTable GetDataTable(string sql, params SQLiteParameter []ps)
  47.         {
  48.             using (SQLiteConnection conn = new SQLiteConnection(connStr))
  49.             {
  50.                 //构造适配器对象
  51.                 SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn);
  52.                 //构造数据表, 用于接收查询结果
  53.                 DataTable dt = new DataTable();
  54.                 //添加参数
  55.                 adapter.SelectCommand.Parameters.AddRange(ps);
  56.                 //执行结果
  57.                 adapter.Fill(dt);

  58.                 //返回结果集
  59.                 return dt;
  60.             }
  61.         }


  62.     }


  63. }
复制代码







上一篇:2018JavaScript前端开发最全的视频教程--分期共享发布
下一篇:【C#进阶】团队项目开发SVN工具使用的要点总结
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】。
回复过本主题
的还回复过:

2

主题

11

帖子

27

积分

新手上路

Rank: 1

积分
27
发表于 2019-1-19 13:25:32 | 显示全部楼层
感谢分享
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】。
回复

使用道具 举报

4

主题

23

帖子

53

积分

注册会员

Rank: 2

积分
53
发表于 2019-9-13 21:12:03 | 显示全部楼层
路过~
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案; 如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

微信扫一扫

我爱科技论坛(www.52tech.tech)旨在打造全网最大的免费资源共享平台。目前论坛包括考研资料、编程学习、黑科技/科学上网、开源软件等资源模块,竭力服务于正在学习道路上的每一个人。我爱科技论坛,爱科技,更爱分享。致力于营造一个资源丰富、内容完善的大型网络学习交流资源共享平台!

QQ|Archiver|手机版|小黑屋|我爱科技论坛 快乐学习交流

(请勿发布违反中华人民共和国法律法规的言论,会员观点不代表我爱科技论坛的官方立场)

Powered by Discuz! X3.4© 2001-2013 Technology Inc.

返回顶部 返回列表