SQLite操作类Sqlite Dot Net即SQLite.SQLiteConnection的常用方法

sqlite3数据库的使用 sqlit3 阅读详情

本类定义了对SQLite数据库的常用操作,包括创建数据库连接,创建表,对表记录的增、删、改、查,可满足常见的数据库操作需求。

在创建数据库连接时,构造SQLiteConnection对象时,指定参数storeDateTimeAsTicks为true,则日期类型将按照ticks来存储,即保存为BIGINT类型。

类定义如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace XXXWebService.Common
{
    /// <summary>
    /// Sqlite Dot Net
    /// </summary>
    public class SDNConn
    {
        /// <summary>
        /// 创建SQLite连接
        /// .db文件不存在时创建,存在时读写,日期类型存为ticks
        /// </summary>
        /// <param name="sDbPath">.db文件路径</param>
        /// <returns>数据库的连接</returns>
        public static SDNConn CreateInstance(string sDbPath)
        {
            return new SDNConn() { Connection = new SQLite.SQLiteConnection(sDbPath, SQLite.SQLiteOpenFlags.ReadWrite | SQLite.SQLiteOpenFlags.Create | SQLite.SQLiteOpenFlags.SharedCache, true) };
        }
       /// <summary>
       /// 数据库连接
       /// </summary>
        public SQLite.SQLiteConnection Connection { get; set; }
        /// <summary>
        /// 创建表
        /// </summary>
        /// <typeparam name="T">表结构</typeparam>
        /// <param name="createFlags">创建标记</param>
        public void CreateTable<T>(SQLite.CreateFlags createFlags = SQLite.CreateFlags.None)
        {
            Connection.CreateTable<T>(createFlags);
        }
        /// <summary>
        /// 根据主键查询记录是否存在
        /// </summary>
        /// <typeparam name="T">类型(表结构)</typeparam>
        /// <param name="aPrimaryKey">主键值</param>
        /// <returns>是否存在</returns>
        public bool Exists<T>(object aPrimaryKey) where T : new()
        {
            return null != Connection.Find<T>(aPrimaryKey);
        }
        /// <summary>
        /// 根据主键获取记录
        /// </summary>
        /// <typeparam name="T">类型(表结构)</typeparam>
        /// <param name="aPrimaryKey">主键值</param>
        /// <returns>记录对象(一条)</returns>
        public T Get<T>(object aPrimaryKey) where T : new()
        {
            return Connection.Get<T>(aPrimaryKey);
        }
        /// <summary>
        /// 根据条件查询记录
        /// </summary>
        /// <typeparam name="T">类型(表结构)</typeparam>
        /// <param name="query">查询条件(支持字符串格式化)</param>
        /// <param name="args">参数值</param>
        /// <returns>记录集合</returns>
        public List<T> Query<T>(string query, params object[] args) where T : new()
        {
            return Connection.Query<T>(query, args);
        }
        /// <summary>
        /// 根据评分查询记录
        /// </summary>
        /// <typeparam name="T">类型(表结构)</typeparam>
        /// <param name="aPrimaryKey">主键值</param>
        /// <returns>记录(一条)</returns>
        public T Select<T>(object aPrimaryKey) where T : new()
        {
            return Connection.Find<T>(aPrimaryKey);
        }
        /// <summary>
        /// 插入新记录
        /// </summary>
        /// <param name="aRecord">记录对象(单条或多条)</param>
        /// <returns>受影响记录条数</returns>
        public int Insert(object aRecord)
        {
            return Connection.Insert(aRecord);
        }
        /// <summary>
        /// 插入或修改记录
        /// </summary>
        /// <param name="aRecord">记录对象(单条或多条)</param>
        /// <returns>受影响记录条数</returns>
        public int InsertOrReplace(object aRecord)
        {
            int i = Connection.InsertOrReplace(aRecord);
            Connection.Commit();
            return i;
        }
        /// <summary>
        /// 删除记录
        /// </summary>
        /// <param name="aRecord">记录对象(单条或多条)</param>
        /// <returns>受影响记录条数</returns>
        public int Delete(object aRecord)
        {
            return Connection.Delete(aRecord);
        }
        /// <summary>
        /// 更新记录
        /// </summary>
        /// <param name="aRecord">记录对象(单条或多条)</param>
        /// <returns>受影响记录条数</returns>
        public int Update(object aRecord)
        {
            return Connection.Update(aRecord);
        }
    }
}

.NET 8本地RAG实战:SQLite向量库+LM Studio离线部署 RAG(检索增强生成)是当前企业知识管理的核心技术路径,其本质是将非结构化文档转化为可检索、可推理的语义向量。实现RAG的关键在于向量存储的轻量化、嵌入计算的可控性,以及端到端数据不出域的安全闭环。相比依赖云服务的方案,本地RAG以嵌入模型+向量数据库为核心,兼顾低延迟、强合规与低成本。本文聚焦.NET生态下的工程落地,详解如何利用LM Studio提供稳定嵌入服务、SQLite结合FTS5构建混合检索向量库,并通过.NET 8的AOT编译与Span<T>优化保障资源受限环境下的高性能运行。适用于制造业文档 阅读详情

相关推荐

C#中SQLite数据库操作教程实例

SQLite是一个轻量级的数据库引擎,它将整个数据库存储在单一的磁盘文件中。这种设计允许它被轻松地嵌入到应用程序中,同时也意味着无需复杂的服务器进程和系统管理。它支持标准的SQL语言,使得数据库操作易于理解和实施。由于其跨平台性,SQLite在嵌入式系统、移动应用和桌面应用中非常流行。它同样适用于构建原型和小型应用程序,尤其是那些不需要数据库服务器的场景。SQLite的数据安全性相当不错,它支持ACID事务,即原子性、一致性、隔离性和持久性。

weixin_29069575的博客 884

SQLite入门与分析(一)

 1、SQLite介绍   自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程中运行,提供了零配置(zero-configuration)运行模式,并且资

Gezhengzhong的专栏 3503

墨刀原型设计工具操作使用指南及实践操作

该指南通过异常场景处理、像素级参数说明、复杂交互示例,覆盖了墨刀操作的全细节,适合从新手到资深用户的进阶学习。结合 PlantUML 思维导图的层级化展示,可快速定位具体功能的操作要点与问题解决方法,真正实现 “照指南即可操作” 的实用价值。

hy行者勇哥的博客 4956

SQLite数据库操作

一、SQLiteConnection 1、创建db数据库文件 strDBPath = "E:\\xxx.db"; SQLiteConnection.CreateFile(strDBPath); 2、打开数据库链接 SQLiteConnection ipConn = new SQLiteConnection(); SQLiteConnectionStringBuilder con

Tweeenty的专栏 932

[Linux]双网卡 CentOS 系统中指定网络请求走特定网卡的配置方法

本文详细介绍了在双网卡CentOS系统中指定特定域名/IP通过指定网卡传输流量的方法。核心步骤包括:1)确认网卡信息(ip addr)和域名IP解析(nslookup);2)添加临时路由(ip route add);3)持久化配置(创建route-eth1文件);4)验证配置(ip route show和curl测试)。文章还提供了网关查询、路由删除等常见问题的解决方法,并区分了不同CentOS版本重启网络服务的命令差异。通过合理配置路由规则,可实现流量的定向传输需求。

wingaso的博客 1573

lerobot VLA--SmolVLA代码的讲解

2.图像resize至正方形224x224,图像长宽比不变,其他区域用黑色补充,标记为mask=1,若占位图像(摄像头缺失),则 创建全-1像素的占位图像 标记为mask=0,image为[1, 3, 512, 512],img_mask为True,masks列表长度为2,img_masks为2,因为我这里两个相机。文本嵌入:通过embed_language_tokens() 被转换为嵌入表示,lang_emb 是语言的嵌入,包含了语言的语法和语义信息。1.像素值[0,1]->[-1,1]

caokaifa的博客 4072

SQLite数据库的使用

SQLite是一个流行的关系型数据库管理系统,SQLite是轻量级的,SQLite不需要复杂的安装或配置过程。数据库就是一个磁盘文件,不需要运行一个独立的服务进程,可以很方便地在不同的应用程序和设备之间共享和传输。②调用SQLiteHelper类,查询表数据,并赋值到List列表中。①单独创建一个SQLiteHelper类。1.SQLite简介。2.使用C#语言示例。

ccysjy的博客 566

从PSDK到ROS节点:实战GPS数据发布与CMake配置

本文详细介绍了如何从大疆PSDK获取GPS数据并封装为ROS节点的实战过程,包括PSDK编译、GPS数据订阅、ROS节点实现及CMake配置优化。通过具体代码示例和调试技巧,帮助开发者快速实现无人机传感器数据与ROS系统的集成,提升开发效率。

weixin_30843605的博客 458

RAG技术解析与C#实践:检索增强生成全流程指南

检索增强生成(RAG)是结合信息检索与生成模型的新兴NLP技术,通过向量化检索和上下文注入解决大语言模型的领域知识局限问题。其技术架构包含检索、增强、生成三阶段,核心价值在于知识可更新性和领域适应性。在工程实现上,需重点考虑文本分块策略、向量存储优化和混合检索算法。本文以C#和Semantic Kernel为例,详解从环境配置、知识库构建到生产部署的全流程实践,特别针对SQLite向量存储和本地模型集成等场景提供优化方案。对于需要处理私有数据的企业应用,RAG提供了比微调更灵活的解决方案。

dbp5156的博客 459

自私兽群优化器(SHO)详解:从生物本能到智能优化

自私兽群优化器(SHO)是一种受动物群体自私行为启发的智能优化算法。该算法模拟动物在捕食威胁下的两种行为:聚集行为(全局搜索)和自私行为(局部搜索),将优化问题的解空间映射为生存环境,候选解视为猎物个体。SHO通过安全性评估将猎物分为安全、危险和高危三类,分别采用不同的位置更新策略,并引入捕食者角色增加选择压力。相比传统优化算法,SHO具有无需梯度信息、自适应平衡探索与开发、参数简单等优势,特别适合高维复杂和多模态优化问题。算法通过马尔可夫链理论保证收敛性,已在工程设计和数据挖掘等领域展现出良好性能。

qq_42212808的博客 199

ITKMontage---ITK自动拼接模块

本文分享ITK中Remote中的ITKMontage拼接模块,希望对各位小伙伴有所帮助!1. ITKMontage介绍在医疗图像处理过程中,图像拼接有很多用处,比如DR图像的拼接。ITKMontage可以快速稳定的处理数据量较大的拼接图像。强度不均匀性校正配准全局优化融合2. ITKMontage安装ITKMontageITKMontage可脱离ITK进行单独安装,也可在ITK安装时作为模块进行安装。单独安装ITK模块安装在ITK编译时,选择ITKMontage模块。

qq_40041064的博客 450

C#连接SQLite数据库并实现基本操作

包管理器安装,Install-Package System.Data.SQLite。

我曾经是个程序员 1163

VT-Refine:基于仿真微调的视觉-触觉反馈双臂装配强化学习

本研究提出VT-Refine框架,通过融合真实世界示范、高保真触觉仿真与强化学习,解决高精度双臂装配任务。方法分为两阶段:首先利用少量人类示范数据预训练视觉-触觉扩散策略;随后在数字孪生仿真环境中进行强化学习微调。关键创新包括:开发GPU加速的触觉仿真模块精确模拟压阻式传感器;采用基于点云的多模态表征实现无缝的跨领域迁移。实验表明,该方法在五个双臂装配任务中显著提升性能,触觉反馈使成功率提高40%。研究首次实现仿真环境中的大规模双臂视觉-触觉强化学习及sim-to-real迁移,为接触密集型任务提供了新解决

2506_90492529的博客 1799

C#对Sqllite操作

数据库的操作也是程序设计中的家常便饭了,关系型数据库中Sqlite3是非常轻量级别的,所以这个数据在小型应用程序的设计中占用很高的比重。当然我这里描述的是1.0版本,也是最原始的方案,大型应用开发中一般选择EF进行桥接,当然我认为其低层逻辑是一致,只是由它帮忙写好了调用的逻辑。

weixin_45114627的博客 2807

绿盾用户使用看图软件每次都需要把图片解密之后才能打开查看,怎么才能不用这么麻烦打开就能看

Win10专业版绿盾控制台7.0看图软件FastStone Image Viewer。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 1202

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

sqlite 加密与连接

加密 SQLiteConnection cnn = new SQLiteConnection($"Data Source = {sqliteFilePath}"); cnn.Open(); cnn.ChangePassword("your password"); cnn.Close(); 连接加密数据库 //System.Data.Sqlite uses a non standard encryption files encrypted by it are only read by system.data

qq_43256140的博客 1861

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

使用 SQLite 在本地存储数据

使用 SQLite 在本地存储数据

m0_73443478的博客 734

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SQLite.SQLiteConnection源代码

摘自编译后的.cs文件,版权归原作者所有:// Decompiled with JetBrains decompiler // Type: SQLite.SQLiteConnection // Assembly: SQLite-net, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null // MVID: E6176266-E10E-4143...

a_dev的专栏 3057

sqlite连接

.net 4.0 引用System.Data.SQLite using System; using System.Configuration; using System.Data; using System.Data.Common; using System.Data.SQLite; namespace sqlite {     class Program  

zhangj391的专栏 699

SQLite的入门级项目学习记录(二)

如果此时有其他线程已经持有该记录的写锁或者正在等待写锁,那么尝试获取写锁的线程将会被阻塞,直到前面的写操作完成并且锁被释放。需要注意的是,尽管可以创建多个游标,但SQLite数据库是单线程的,这意味着在任何给定的时间点上,只有一个游标的操作可以被执行。SQLite,对于同一个连接sqlite3.connect(db_file),可以同时创建多个游标,每个游标都是独立的,可以执行各自的SQL命令序列。:在多线程环境中,每个线程应该使用自己的数据库连接,并且在进行写操作时应该使用事务来确保数据的一致性。

xulibo5828的博客 1648

SQLite数据库模块化查询

以一个简单的登录为案例:通过姓名跟密码模拟查询游戏者的游戏ID账号 这里我一共分为4个模块来建立对应的查询结构:分别定义用户信息函数、用户管理函数、数据库查询函数、用户查询语句建立函数。  1、SqlExeccute.cs :这里主要实现数据库的连接建立跟查询函数 /// &lt;summary&gt; /// 多条结果查询类方法 /// &lt...

无奋斗、无青春! 1152

c# 关于Sqlite 创建连接以及常见用法

其中包含简单的增删改查等操作,RecordFunctionEntity为自定义实例,此处作为例子不作详情展示,读者可自定义‘commandText’命令去执行。

Fillg的博客 1046

SQLite数据库简单用法

使用Sqlite数据库首先要先下载System.Data.SQLite.DLL文件,我使用的是VS2010,就需要在VS2010中引用DLL文件,同时记得加上using System.Data.SQLite;语句之后就可以开始使用了。 一.首先是创建数据库文件:               SQLiteConnection.CreateFile("test.db");//首先建立一

zixi1991的专栏 553

sqlite安装使用

安装sqlite 下载地址:https://www.sqlite.org/download.html 安装教程:https://www.runoob.com/sqlite/sqlite-installation.html C#连接数据库 1. 添加dll(使用本地添加) 步骤一:右键引用,单击管理NuGet程序包,如下图 步骤二:查找sqlite相关程序包,添加如图所示程序包 ...

qq_33557485的博客 266

SQlite数据库操作

数据链接 /// <summary> /// 获取当前数据链接 /// </summary> /// <returns></returns> public SQLiteConnection GetOpenConn() { string DBFile = FilePath;//设定数据库路径 SQLiteConnection conn

weixin_40029679的博客 297
上一篇: SQLite.SQLiteConnection源代码
下一篇: SQLite数据库BigINT类型日期数据查询
acngiser
博客等级 码龄15年 118粉丝 214原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值