C#——SQLite速成

工控转行上位机开发:技能迁移与C#技术栈解析 上位机开发作为工业自动化领域的核心环节,本质是构建工业设备与软件系统的数据桥梁。其技术原理主要涉及工业通信协议(如Modbus、OPC UA)、数据采集与可视化(如WPF、WinForms)等关键技术模块。在智能制造升级背景下,上位机开发能有效解决设备互联、实时监控等工业痛点,尤其适合工控背景开发者转型——因其熟悉PLC编程、设备通信等工业场景需求。通过掌握C#技术栈与工控专用库(如S7NetPlus、Modbus.Net),开发者可快速实现产线监控、数据持久化等典型应用,薪资较同级别Web开发高出20%- 阅读详情
为什么我需要SQLite

* 轻巧灵活,基于单个数据库文件,方便创建、移动,能方便的进行数据的分类存储(按业务、按功能、按日期、按客户等),非常适合与灵活的系统搭配使用。

* 部署容易,.NET环境只需一个dll文件(Access可能需要安装MDAC)。

* 开源。

 

SQLite开发环境与开发资料的准备

.Net SQLite数据库驱动:System.Data.SQLite.dll以及文档

SQLite GUI数据库工具:SQLite Expert PersonalEdition(个人版免费,够用了)

.Net SQLite数据库驱动源码:sqlite-netFx-source-1.0.76.0

 

C#动态创建SQLite数据库

调用SQLiteConnection. CreateFile静态方法创建

SQLiteConnection.CreateFile(path)

 

path测试路径:Data目录存在,Data2目录不存在

                var path1 = "dummy1.db";//成功

                var path2 = "Data/dummy2.db";//成功

                var path3 = "Data\\dummy3.db";//成功

                var path4 = "c:\\Data\\dummy4.db";//成功

                var path5 = "Data2//dummy5.db";//错误,Data2目录不存在

           var path6 = "C:\\Data2\\dummy6.db";//错误,Data2目录不存在

 

SQLiteConnection. CreateFile内部的实现源码:使用了File.Create创建0字节文件

    ///<summary>

    /// Creates a database file.  This just creates a zero-byte file whichSQLite

    /// will turn into a database when the file is openedproperly.

    ///</summary>

    ///<paramname="databaseFileName">Thefile to create</param>

    static public void CreateFile(string databaseFileName)

    {

      FileStream fs = File.Create(databaseFileName);

      fs.Close();

    }

 

C#连接SQLite与数据库安全

常用的连接字符串生成

                ///<summary>

                ///生成SQLite连接字符串

                ///</summary>

                public static class SQLiteConnectionString

                {

                                public static string GetConnectionString(stringpath)

                                {

                                                return GetConnectionString(path,null);

                                }

                                public static string GetConnectionString(stringpath, string password)

                                {

                                                if (string.IsNullOrEmpty(password))

                                                                return "Data Source=" + path;

                                                return "Data Source=" + path + ";Password=" + password;

                                }

                }

修改数据库密码

                ///<summary>

                ///修改密码

                ///</summary>

                ///<paramname="path"></param>

                ///<param name="newPassword"></param>

                ///<param name="oldPassword">没有密码时为空</param>

                public static boolChangePassword(stringpath, string newPassword,string oldPassword = null)

                {

                                try

                                {

                                                varcon = new SQLiteConnection(SQLiteConnectionString.GetConnectionString(path, oldPassword));

                                                con.Open();

                                                con.ChangePassword(newPassword);

                                                con.Close();

                                }

                                catch (Exception ex)

                                {

                                                return false;

                                }

                                return true;

                }

 

修改密码测试:

                var path2 = "Data/dummy2.db";//数据库初始密码是空值

                ChangePassword(path2, "123");//成功,数据库密码修改为123

                ChangePassword(path2, "234","");//错误,当前密码是123

                ChangePassword(path2, "234","123");//成功,数据库密码修改为123

                ChangePassword(path2, "","234");//成功,数据库密码修改为空

 

C#常用类型与SQLite类型的映射

C#类型

SQLite类型

int

INT, INTEGER

string

CHAR, VARCHAR,VARCHAR2等字符类型

long

INT64

bool

BOOLEAN

double

DOUBLE

DateTime

DATETIME

decmial

DECIMAL

short

SMALLINT

float

FLOAT

*上述类型映射不是唯一的;已进行写读的测试。

 

C#对SQLite数据库插入记录并返回自动递增ID

SQLite设置自动递增列:创建INTEGER数据类型的列,设置该列为主键,然后才能设置自动递增属性。

执行插入的sql后,调用last_insert_rowid()函数返回自动递增ID

                object result = null;

                IDbConnection conn = null;

                IDbCommand cmd = null;

                //略…

                inti = cmd.ExecuteNonQuery();

                cmd.Parameters.Clear();

                if (i> 0)

                {

                                cmd.CommandText = "SELECT last_insert_rowid()";

                                result = cmd.ExecuteScalar();

                }

                else

                {

                                result = -1;

                }

                //略…

 

C#下的SQLite事务控制

已在TransactionScope管道下测试事务,在内部引发异常,事务能够终止。

                try

                {

                                using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope())

                                {

                                                //引发异常

                                                scope.Complete();

                                }

                }

                catch (Exception)

                {

 

                }

C#调用SQLite SQLite 是一个轻量级的数据库管理系统,它不需要一个独立的服务器进程或操作系统的运行,而是将整个数据库,包括定义、表、索引以及数据本身,全部存储在一个独立的磁盘文件中。SQLite 被设计为简单易用,它支持 SQL 语言的大部分功能,并且是跨平台的,可以在多种操作系统和硬件平台上运行,包括桌面、服务器、移动设备等。:SQLite 的源代码体积小,编译后的库文件也非常小巧,便于集成到各种应用程序中。:与需要复杂配置和安装过程的数据库系统不同,SQLite 不需要任何配置就可以直接使用。 阅读详情

相关推荐

C#对SQLite的常用操作

Author: Kagula Date: 2013-2-18   环境 [1]Visual Studio 2010 Ultimate with SP1 正文 准备工作   从参考资料中下载SQLiteAdministrator工具,新建SQLite数据库文件“employees.s3db”,并添加表“employee”。   下面是建这张表所用的SQL语句 CREATETABL

lee353086的专栏 1万+

Int和Integer的区别

文章目录一、Int和Integer的区别Int和Integer的比较(扩展) 一、Int和Integer的区别 1、Integer是Int的包装类,Int是八种基本数据类型之一。 2、Integer变量必须实例化以后才可以使用,而Int变量不需要实例化。 3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象,而Int是直接存储数据值。 4、Integer的默认值是null,Int的默认值是0。 Int和Integer的比较(扩展) 先来看一段代码: publi

suchahaerkang的博客 1万+

PET,CT图像融合笔记

PET-CT怎样进行图像融合?图像融合实现CT与PET图像的融合 OpenCV实现(附实验结果)

chenran187906的博客 8409

SQLite 3 中的数据类型

转自 http://blog.sina.com.cn/s/blog_55e55fcb0100pnya.html  SQLite使用动态类型系统,在SQLite中,值的数据类型和值本身,而不是和它的容器,关联在一起的。SQLite的动态类型系统和其他数据库引擎的静态类型系统是兼容的,这样在静态类型的数据库上执行的SQL语句也可以在SQLite中执行。 1.0 存储类和数据类型

pandarick的专栏 862

别再硬啃C代码了!用Simulink的Matlab Function模块手把手教你搭建CRC8校验模型(附完整M脚本)

本文详细介绍了如何利用Simulink的Matlab Function模块轻松实现CRC8校验模型,替代传统的C代码编写。通过可视化建模和即时验证,开发者可以高效完成算法设计,并自动生成嵌入式代码。文章包含完整的M脚本示例和工程实践技巧,特别适合嵌入式系统开发人员提升工作效率。

weixin_42520661的博客 183

基于单片机的自动喷淋系统设计【毕业设计】

随着人民生活质量提高与生活节奏的加快,城市居民对于花草绿植的家庭培养与装饰需求增加,随之因浇灌植物的需要,智能浇花系统的市场逐渐扩大。现有自动浇花系统大部分只能通过设置固定浇水时间而难以实现适时、适量浇水,或在植物环境土壤含水量低时进行报警而并不能实际补水。为克服局限性而设计以单片机为控制中心的自动浇花系统。通过湿度传感器检测目标植物环境土壤湿度数据,再经ADCO832将其放大转换为数字量,由单片机读取输出向LCD1602 显示屏显示并通过比对键盘向单片机所设置的湿度范围而利用中断服务程序进行补水需求判断。

qq_48771816的博客 1711

C#—SQLite速成

为什么我需要SQLite * 轻巧灵活,基于单个数据库文件,方便创建、移动,能方便的进行数据的分类存储(按业务、按功能、按日期、按客户等),非常适合与灵活的系统搭配使用。 * 部署容易,.NET环境只需一个dll文件(Access可能需要安装MDAC)。 * 开源。   SQLite开发环境与开发资料的准备 .Net SQLite数据库驱动:System.Data.SQLite.dll

半盏黄粱 823

WAVE格式

一.wave格式概述 Wave文件格式是用于多媒体文件存储的Microsoft RIFF(Resource Interchange FileFormat)的一个子集。每一个RIFF文件以一个文件头开始,后面是一系列数据块。Wave文件通常是包含“WAVE”块的RIFF文件。而该“WAVE”块由两个子块组成,称为“fmt”块。“fmt”块用于确定数据格式,并且“data”块包含实际的样本数据,

yejia1280的博客 4389

C#中使用SQLite速成

刚发现有完整的教程 传送门:http://www.runoob.com/sqlite/sqlite-tutorial.html 为什么我需要SQLite *轻巧灵活,基于单个数据库文件,方便创建、移动,能方便的进行数据的分类存储(按业务、按功能、按日期、按客户等),非常适合与灵活的系统搭配使用。 *部署容易,.NET环境只需一个dll文件(Access可能...

diliulian8845的博客 239

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

1902

Spring AI Alibaba实战训练营-14基于A2A协议智能体应用开发指南

本文介绍了基于A2A协议的智能体应用开发流程,主要包括客户端和服务端两个模块的实现。关键技术包括A2A通信协议、Nacos服务发现、Spring AI Alibaba框架和DashScope通义千问API。开发步骤涵盖环境准备(JDK17、Maven、Nacos)、项目创建、依赖配置(重点引入spring-ai-alibaba相关组件)以及Nacos和DashScope的核心配置。整个系统架构采用客户端通过Nacos发现服务端Agent,再调用阿里云AI服务的模式,实现了AI能力的解耦与复用。

program哲学 505

C#——SQLite速成 .

为什么我需要SQLite * 轻巧灵活,基于单个数据库文件,方便创建、移动,能方便的进行数据的分类存储(按业务、按功能、按日期、按客户等),非常适合与灵活的系统搭配使用。 * 部署容易,.NET环境只需一个dll文件(Access可能需要安装MDAC)。 * 开源。   SQLite开发环境与开发资料的准备 .Net SQLite数据库驱动:System.Data.SQLite.dll

zb872676223的专栏 787

动力学约束下的运动规划算法——Hybrid A*算法(附程序实现及详细解释)

本文主要介绍动力学约束下的运动规划算法中非常经典的Hybrid A*算法,大致分为三部分,第一部分是在传统A * 算法的基础上,对Hybrid A * 算法的原理、流程进行理论介绍。第二部分是详细分析 MotionPlanning运动规划库中Hybrid A * 算法的源码,进一步深入对Hybrid A * 算法的具体细节 进行理解。 第三部分是结合前面第一部分的理论和第二部分的详细源码,对Hybrid A * 算法的流程进行综合的概括总结。

慕羽★的博客 1万+

C# SQLite

C# SQLite 教程展示了如何在 C# 中编写 SQLite 数据库。 SQLite SQLite 是一个嵌入式关系数据库引擎。它是一个自包含、无服务器、零配置和事务性 SQL 数据库引擎。SQLite 实现了 SQL 的大部分 SQL-92 标准。SQLite 引擎不是一个独立的进程。相反,它是静态或动态链接到应用程序中的。SQLite 数据库是单个普通磁盘文件,可以位于目录层次结构中的任何位置。 ADO.NET ADO.NET是.NET 框架的重要组成部分。它是一种统一对关系数据

allway2的博客 1万+

全网最全RT-DETR涨点改进,基于官方源码1:1还原,在Ultralytics项目中配置rtdetr-r18、rtdetr-r34、rtdetr-r50、rtdetr-r101版本~小论文大论文必备

本文详细介绍了如何将RT-DETR的ResNet18/34/50/101/154版本移植到ultralytics项目中。主要内容包括:1) RT-DETR核心特点,如高效混合编码器、IoU感知查询选择等;2) 提供完整ResNet核心代码;3) 分步配置指南,包括创建模块文件和修改tasks.py;4) 各版本yaml配置文件的创建方法。该方案可帮助研究者快速实现RT-DETR改进,适用于目标检测相关论文研究。所有配置文件均可正常运行,为实验部署提供了便利。

Ai缝合怪、助力小伙伴高效发论文 3926

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

c#操作轻型数据库SQLite

SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两

ghevinn欢迎您光临 1869

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C#与数据库SQLite:在C#项目中使用SQLite

下面这两个是不同的:   1.System.Data.SQLite ( http://system.data.sqlite.org/index.html/doc/trunk/www/index.wiki) 2.SQLite(https://www.sqlite.org/download.html) 尽管是一个网站,但是,是两个产品。前者可用于C#,后者可以直接使用。前者的安装目录包含的文件...

绝圣弃智-零的博客 7万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SQLite之C#连接SQLite

SQLite之C#连接SQLite 2015-05-05 17:52糯米粥 阅读(40651) 评论(1)编辑收藏 我的程序突然不能访问数据库了,回过头来再看这文章,才知道是自己的几天设置的目标平台改了,耗了大量时间,转载本文是因为它对我的帮助,感谢作者,也希望对新用户有帮助 SQLite是一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。SQ...

北京谢吉华的专栏 3631

C# 中使用sqlite

前言 对于某些客户端软件,不需要用sqlserver、mysql等数据库,但又不想使用xml、json、excel、txt等文件来存储数据。 这是,sqlite派上用场了。 本文简单的总结了C#中sqlite的用法。 开始 打开VS2017,新建控制台项目。 【工具】 -> 【nuget包管理器】 -> 【管理解决方案的nuget程序包】,在【浏览】里面搜索sqlite,安装Syst...

wf824284257的博客 1万+

C#操作SQLite数据库

SQLite是一个开源、免费的小型RDBMS(关系型数据库),能独立运行、无服务器、零配置、支持事物,用C实现,内存占用较小,支持绝大数的SQL92标准。本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。2.3 操作SQLite Database的C#帮助类SQLite Helper。C#下SQLite操作驱动dll下载:System.Data.SQLite。2、C#操作SQLite Database。1、SQLite介绍。

积累点滴,保持自我 1万+

SQLite, C#, 安装, 配置, 测试

1. 安装 1.1 安装SQLite     打开页面“http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki”,下载并安装“sqlite-netFx40-setup-bundle-x86-2

MTB's Tech Blog 8039
上一篇: C#使用SQLite数据库详解
下一篇: 获得对报表文件里的对象(比如TextObject)的引用
cll131421
博客等级 码龄19年 68粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值