C# SQlite 操作小结

C#利用System.Data.SQLite实现对SQLite的操作 SQLite介绍 SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义、表、索引和数据本身)都保存在一个单一的文件中。并且,SQLite是一个用C实现的类库,它在内存消耗、文件体积、简单性方面都有不错的表现,如果数据在10W条以下,查询速度也是相当快的。 SQLite具有以下特征: 实现多数SQL92的标准,包括事务(原子性、一致性、隔离性和持久性)、触发器和... 阅读详情

 最近项目需求用C#保存一些数据,如此先总结一下。需要下载Sqlite 库 SourceForge 链接网址http://sourceforge.net/projects/sqlite-dotnet2/或到官方网http://www.sqlite.org/download.html下载都可以,下载之后安装。在C#项目中添加引用 引入安装目录bin中的System.Data.SQLite.dll。添加命名空间using System.Data.SQLite;便可以在你的项目中

对扩平台的微型数据库SQlite 进行使用了,

主要注意一点是:

数据库若未创建则使用:

 SQLiteConnection.CreateFile(databaseName);

数据库已经创建,并要进行访问: 

SQLiteConnection m_conn = new SQLiteConnection("DataSource="+m_dbName+";Version=3;New=False;Compress=True;");

下面是项目中封装的操作数据库代码,使用时可稍微修改便可在项目中使用。

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SQLite;
namespace Toolbar
{
      public class  CSPDatabase
    {
        protected string m_dbName;
        protected string m_tablename;
        protected string m_password;

        public CSPDatabase(string dbName) 
        { 
            m_dbName    = dbName;
            m_tablename = "MhtInfo";
            m_password  = "";
        }
        //Create DataBase
        public virtual void Init() { }
        public virtual void CreateDataBase() { }
        public virtual void OpenDataBase() { }
        public virtual void SetPassWord(string password) { }
        //Connect DataBase
        public virtual  void ConnectDataBase() { }
        //Create Table
        public virtual  void CreateTable(string tableName) { }
        //Insert Data
        public virtual  void Insert(string mhtlocation) { }
    }
}


using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SQLite;
using System.Windows.Forms;
namespace Toolbar
{
    class SqliteDatabase : CSPDatabase
    {
        private  SQLiteConnection m_conn= null;
        private  SQLiteCommand m_cmd=null;
        public SqliteDatabase(string dbName):base(dbName)
        {
      
        }
        public override void Init()
        {
            if(m_conn == null)
                m_conn = new SQLiteConnection();
            m_cmd = new SQLiteCommand();
            m_cmd.Connection = m_conn;
        }
        public override void CreateDataBase()
        {
            //Create Database
            try
            {
                SQLiteConnection.CreateFile(m_dbName);
                Init();
                ConnectDataBase();
            }
            catch (System.Exception e)
            {
                MessageBox.Show("Create DataBase Failed!");
            }
           
        }
        public override void OpenDataBase()
        {
            m_conn = new SQLiteConnection("Data Source="+m_dbName+";Version=3;New=False;Compress=True;");
            Init();
            ConnectDataBase();
        }
        public override void SetPassWord(string password) 
        {
            m_password = password;
        }
        public override void ConnectDataBase()
        {
           //Connect to DataBase
           try
           {
               SQLiteConnectionStringBuilder connstr = new SQLiteConnectionStringBuilder();
               connstr.DataSource = m_dbName;
               if(m_password != "")
                    connstr.Password = m_password;
               m_conn.ConnectionString = connstr.ToString();
               
           }
           catch (System.Exception e)
           {
               MessageBox.Show("Fail to Connect to the database");
           }

        }
        //Create Table
        public override void CreateTable(string tableName)
        {
            try
            {
                m_tablename = tableName;
                m_conn.Open();
                string sql = "CREATE TABLE " + tableName + "(mhtlocation varchar(20))";
                m_cmd.CommandText = sql;
                m_cmd.ExecuteNonQuery();
                m_conn.Close();
            }
            catch (System.Exception e)
            {
                MessageBox.Show("Create Table Failed!");
            }

        }
        public override void Insert(string mhtlocation)
        {
           try
           {
               //Insert Data
               m_conn.Open();
               string sql = "insert into [" + m_tablename + "] values('" + mhtlocation + "')";
               m_cmd.CommandText = sql;
               m_cmd.ExecuteNonQuery();
               m_conn.Close();
           }
           catch (System.Exception e)
           {
               MessageBox.Show(e.ToString());
           }

        }
    }
}



在C#的WPF中连接SQLite数据库 在C#的WPF中连接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万+

System.Data.SQLite数据库简介

SQLite介绍在介绍System.Data.SQLite之前需要介绍一下SQLite,SQLite是一个类似于Access的单机版数据库管理系统,它将所有数据库的定义(包括定义、表、索引和数据本身)都保存在一个单一的文件中。并且,SQLite是一个用C实现的类库,它在内存消耗、文件体积、简单性方面都有不错的表现,如果数据在10W条以下,查询速度也是相当快的。SQLite具有以下特征:实现多数

周公(周金桥)的专栏 3万+

C#利用Dapper实现对SQLite的操作

前言 近几天借助C#对SQLite的学习,算是对数据库刚入门吧,三天前写了一篇C#利用System.Data.SQLite实现对SQLite的操作,其中方法是基于System.Data.SQLite.dll的程序包,后来在youtube和infoworld上看到利用Dapper程序包对数据库操作更简单、快捷,在其基础之上自己又增加了一些用法,以下是参考视频和文档: 参考视频:https://www...

勤能补拙 1万+

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万+

C#操作SQLite数据库帮助类——SQLiteHelper

using System; using System.Collections.Generic; using System.Data.SQLite; using System.Data; namespace Com.ZCWL.Rock.Helper { public class SQLiteHelper { private static string connectionString =

跟健哥出去走走 2万+

SQLite 数据库 C# Dapper 操作实例

1. 概述 前面写过一篇文章《C# SQLite 数据库使用说明》,介绍的是 C# 语言用最原始的 ADO.net 方式操作 SQLite 数据库。可是这种方式很久没用过了,主要是因为 Dapper 和 PetaPoco 太好了用 本文参照 DarkThread 的文章,整理了一套 C# 使用 Dapper 操作 SQLite 数据库的实例,方便自己日后查询。 2. 前置条件 本程序依赖 ...

Abelia的博客 2327

C# 开发 SQLite 插件

本文介绍了在C#中开发SQLite插件的两种主要方法:使用System.Data.SQLite库和Entity Framework Core。System.Data.SQLite提供基础的ADO.NET操作,包括数据库连接、表创建、数据插入和查询等基本功能。Entity Framework Core则提供更高级的ORM功能,通过模型定义和上下文类简化数据库操作。文章还给出了插件开发建议,推荐封装SQLite操作为独立类库,并提供了性能优化技巧,如使用事务处理批量操作和启用WAL模式。最后强调了在多线程环境中

RulesChen的博客 450

C#实现对Sqlite数据库的通用操作

一、实现效果 1.1、实现功能 ①实现创建Sqlite数据库; ②实现创建指定Sqlite数据库的表; ③实现给Sqlite数据库的指定表【插入、查询、更新、删除、分页查询】数据; ④实现获取Sqlite数据库中的所有表名称及其表包含的所有列名称; ⑤实现判断数据是否存在、获取最大Id; 1.2、效果图 二、实现核心 2.1、字典帮助类 这里直接添加核心的源代码内容,如下所示 using System; using System.Collections....

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 8402

c#操作轻型数据库SQLite

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

ghevinn欢迎您光临 1869

5分钟掌握C#中SQLite UPDATE数据操作

SQLite是一个开源的关系型数据库管理系统(RDBMS),它的特点是轻量级、文件-based,并且不需要单独的服务器进程。假设我们要将名字为“Alice Smith”且电话号码为“111-222-3333”的联系人的电话号码更新为“666-666-6666”。有时候,我们需要确保一组更新操作要么全部成功,要么全部失败。假设我们要将所有姓氏为“Smith”的联系人的电话号码都更新为“555-555-5555”。接下来,我们将通过一系列详细的实例和步骤解析,让你轻松掌握如何在C#中进行SQLite的。

java专栏 2071

C#中SQLite数据库操作实践指南及完整示例

SQLite 是一个轻量级的嵌入式关系数据库管理系统。它以其零配置、跨平台和无需服务器的特性而闻名,被广泛应用于各种应用中,特别是在需要小型化、高效性能的场合。本章我们对 SQLite 数据库进行了一个初步的介绍,了解了它的核心优势和常见的应用场景。在后续章节中,我们将进一步探索 SQLite 如何在 C# 程序中发挥作用,并介绍更多的操作细节和优化技巧。由于篇幅限制,本章内容到此结束。在下一章中,我们将开始探讨 C# 与 SQLite 数据库的交互,包括环境搭建和基础连接操作。

weixin_36288992的博客 2506

C# SQLite

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

allway2的博客 1万+

WPS占用C盘空间解决方案与优化技巧

办公软件在长期使用过程中会产生大量缓存和历史文件,这些文件往往隐藏在系统目录中,导致磁盘空间被无声占用。以WPS为例,其版本历史备份、云同步缓存和模板库是主要空间占用源。通过分析文件存储机制,可以定位到具体的缓存路径,如AppData目录下的Kingsoft文件夹。针对这一问题,有效的解决方案包括手动清理、自动化脚本和注册表优化。对于需要持续监控的场景,可以结合PowerShell脚本和任务计划实现自动化管理。在实际应用中,这些技术不仅适用于WPS,也可迁移到其他办公软件的空间优化中,是每位IT运维人员和高

weixin_30788239的博客 455

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万+

MOOS-ivp 实验三 MOOS简介(1)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

weixin_44151170的博客 7434

光栅衍射有入射角时_衍射型多焦点人工晶体光学原理

多焦点人工晶体如何把光线分成多个焦点的?这个问题大部分专业书只是蜻蜓点水,并没有讲明白。希此文粗浅的解释,能帮您加深理解,请多指正。接下来,我将按照一下历史发展的顺序讲解一下:光的认识、菲涅尔灯塔(菲涅尔透镜)、菲涅尔波带盘(半波带盘)、多焦点人工晶体。一:首先复习一下光的认识历史。我们现在都知道光是一种电磁波,具有波粒二相性,但是认识光的本质也经历非常曲折漫长的过程。牛顿时代的几何光...

weixin_28963467的博客 2351

C# 操作 SQLite 增、删、改、查、创建

SQLite是一个轻量级、跨平台的关系型数据库,在小型项目中,方便,易用,同时支持多种开发语言,下面是我用C#语言对SQLite 的一个封装。Winfrom界面如下: 2.UsingLock.cs 采用多线程方式,在这里,如果不是频繁的使用,其实可以不用 3.Form1.cs 窗体部分,界面如下代码: 上面就是所有的源码,代码比较长,你忍一下,其实也没有很复杂的部分,下面是项目的源码,有兴趣的可以支持一下我了,嘿嘿~项目源码:点击下载上面的代码我不觉得是完美的,由于时间关系,读者可以自己去实

熊思雨的博客 2万+

DDR5内存调优实战:手把手教你搞定Write Leveling Training Mode(附时序图解析)

本文深入解析DDR5内存调优中的Write Leveling Training Mode技术,详细介绍了其核心原理、硬件准备、实战步骤及常见问题解决方案。通过JESD79-5标准定义的反馈机制,帮助硬件工程师精确对齐DQS与CK信号,提升系统稳定性和数据可靠性。附有时序图解析和代码示例,适合DDR5内存系统设计与调试参考。

weixin_29256771的博客 550

C# SQLite 数据库基本操作

c#关于sqlite的基本操作

m0_53707852的博客 9739

使用Gromacs进行蛋白和配体小分子的动力学模拟+结果分析全流程教程

先选protein,选择non-water,使用pymol打开delWater.pdb,输入util.ss('all')展示cartoon,点击file-Export Moive as-MPEG。这一步完成后,文件夹中会出现以下三个文件,其中gro 文件用于记录蛋白的初始坐标,top 文件记录蛋白的拓扑信息和力场信息,itp 与top文件类似。接下来使用Spdbv软件打开蛋白,如果蛋白中存在原子缺失情况,就会出现以下的提示,如果不存在就不会显示,同时保存为rep.pdb。

weixin_46587777的博客 2851

数控系统(CNC)系列:Fanuc 31i-B_(16).CNC系统的网络连接与数据传输

硬件连接:包括网络接口的类型、连接方式等。网络协议:常用的网络协议包括Ethernet、Modbus TCP、Profinet等。网络配置:如何在CNC系统中配置网络参数,使其能够正确接入网络。在网络化的现代工业生产环境中,CNC系统的网络连接和数据传输能力变得越来越重要。通过以太网、Modbus TCP和Profinet等网络协议,可以实现CNC系统与上位机、其他CNC系统以及各种工业设备之间的高效通信。

2401_87715305的博客 2434

SQLite之C#连接SQLite

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

北京谢吉华的专栏 3631

深入大模型-13-大模型Skills应用之标准目录结构和开发一个Skill的步骤

首先对比Prompt工程,上下文工程,Skills工程,MCP工具的概念与区别,然后介绍Skill的标准目录结构,同时描述了开发一个Skill的步骤和最佳实践。

qq_20466211的博客 748

c# 操作 sqlite

SQLite是一个精巧的轻量级数据库,今天终于基本掌握了如何用C#操作SQLite数据库。根据网友们的经验,至少有两种方法可以做到SQLite的调用,一种是调用sqlite3.dll,一种是用System.Data.SQLite,即sqlite.ADO.NET,是专为C shar

在键盘上飞舞的日子 4555

MoveIt 运动学、运动规划、混合规划、move_group

混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。

机器人控制与仿真应用 2131

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

上一篇: C# 使用SQLite由于.NetFramework 的错误
下一篇: 关 于 PV 操 作
雪岢奇
博客等级 码龄17年 310粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值