如何在winform打包时带上sqlite数据库
sqlite数据库下载及使用:
https://blog.csdn.net/Yyuanyuxin/article/details/105508886
sqlite数据库可视化工具—— DB.Browser安装说明:
https://blog.csdn.net/Yyuanyuxin/article/details/105513276
有关c#_VS2019 项目打包(不带数据库)
https://blog.csdn.net/Yyuanyuxin/article/details/105368316
目录
1.建立解决方案及打包文件:
2,创建数据库及表
3.引用dll
4.在项目中使用数据库。
5.添加数据库到打包工程中
项目需要带数据库打包的情况下,因为产品没有实施工程师负责,sqlserver等需要安装的数据库不是很好的选择,客户无法在安装软件的时候直接使用,需要下载其他的组件,这不是很友好的方式,个人能力及网上资源有限的原因,最后使用了sqlite作为数据库。也是几经波折,其实最后发现很简单。。。
说明:
完整项目文件可在此处下载:点击此处
有关如何设置打包属性,可见https://blog.csdn.net/Yyuanyuxin/article/details/105368316,本文不再重复说明,只说明带数据库部分。
1.建立解决方案及打包文件:
此部分不累述,看说明的链接。
2,创建数据库及表
详情:
https://blog.csdn.net/Yyuanyuxin/article/details/105508886
最好使用可视化工具,不然就需要自己写sql语句,在sqlite3.exe里面执行。
我使用的是可视化工具DB Brower.
3.引用dll
首先需要下载dll使用。
下载地址:
https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki
上传的资源中使用的框架是.Net Framework4.6,如果你打算用此框架,就可以直接使用例子中的dll
这里一定注意要使用对应的dll,要不容易报错或者无法打包。
4.在项目中使用数据库。
个人在例子中有添加一个常用帮助类文件。此处为你的db文件所在路径及名称。我使用的AppDomain.CurrentDomain.BaseDirectory是找到启动目录的路径。在debug调试的时候是debug下。那安装程序则是在安装目录下读取,不要搞错了位置,不然找不到数据库。
例子只是简单的查询及插入数据。
启动界面如下:
5.添加数据库到打包工程中
在打包项目界面上,右击鼠标弹出菜单,选择添加文件。找到你的数据库文件(.db文件)添加,这里注意添加的位置,如果代码上的位置为启动程序的根目录,如我上面所示,则直接按下方添加,如果带有文件夹,这里要记得保持一致。
上面的这种方式不需要在安装项目的时候去加载创建table表,.db文件(数据库)带有所有数据了,操作上比较简单。但如果希望安装的时候重新创表格之类的,有另一种方式,新建一个工程,添加安装程序,然后写数据库初始化的代码。这种方式还不太掌握,就不在这里写了,有兴趣的可以网上搜索看看。
————————————————
版权声明:本文为CSDN博主「Yyuanyuxin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Yyuanyuxin/article/details/105540433
如何在winform打包时带上sqlite数据库的更多相关文章
- C# winform打包(带数据库安装)<转>
使用VS自带的打包工具,制作winform安装项目 开发环境:VS2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管理系统 步骤: 1.打开开发环境VS2010, ...
- Android内部自带的SQLite数据库操作dos命令
1:什么叫做SQLite数据库 Android系统内核是Linux系统,Android系统很特殊,他自带了一个SQLite数据库,轻量型的一款嵌入式的数据库 它占用资源非常的低,在嵌入式设备中,可能只 ...
- axios配置及使用(发起请求时带上token)
1.安装 利用npm安装 npm install axios --save 2.引入即可使用 import axios from 'axios' 3.目录 4.各个文件设置: (1)env.js ex ...
- 【Win 10 应用开发】Sqlite 数据库的简单用法
如果老周没记错的话,园子里曾经有朋友写过如何在 UWP 项目中使用 Sqlite数据库的文章.目前我们都是使用第三方封装的库,将来,SDK会加入对 Sqlite 的支持. 尽管目前 UWP-RT 库中 ...
- Android 开发中 SQLite 数据库的使用
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, ...
- android开发之使用SQLite数据库存储
http://blog.csdn.net/jason0539/article/details/16360835 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且 ...
- 在Android 开发中使用 SQLite 数据库笔记
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PH ...
- Python解析excel文件并存入sqlite数据库
最近由于工作上的需求 需要使用Python解析excel文件并存入sqlite 就此做个总结 功能:1.数据库设计 建立数据库2.Python解析excel文件3.Python读取文件名并解析4.将解 ...
- 图解Win 10 应用开发之Sqlite 数据库的简单用法
尽管目前 UWP-RT 库中还没有自带操作Sqlite数据库的API,不过,真要使用的话也不难,因为通过 Nuget ,我们其实可以获取很多支持 Sqlite 操作的第三方组件,当然了,组件虽多,但不 ...
- android开发 解析服务器端xml文件数据存储到android客户端SQLite数据库
以下面xml文件为例对其解析(假设此xml就在服务器端Server项目下的servlet包下的MenuServlet文件的输出流中): <?xml version="1.0" ...
随机推荐
- [EULAR文摘] 新证据: NSAID对AS放射学进展的影响
新证据: NSAID对AS放射学进展的影响 Sieper J, et al. EULAR 2015. Present ID: OP0145. 背景: 既往有研究显示持续给予NSAID相较于按需给药能在 ...
- 关于HTML5中Video标签播放问题
PS:官网首页视频IOS与安卓都可播放代码: <video width="100%" height="auto" type="video/mp4 ...
- pytorch学习笔记二之自动差分引擎
自动差分引擎¶ torch.autograd是 PyTorch 的自动差分引擎,可为神经网络训练提供支持. 1. 背景¶ 神经网络(NN)是在某些输入数据上执行的嵌套函数的集合. 这些函数 ...
- Qt中的多窗体编程
在某些应用中,会用到多窗体功能,这里就来讨论一下Qt下多窗体功能的实现.本例仍以qt4.8.7版本为例,并基于QtCreator4.6.2环境进行开发.在本例中,以一个能显示实时时钟的第二窗体为例进行 ...
- Mybatis-Plus学习
mybatis-plus 学习 系统环境 jdk8+mysql5.7+springBoot+mybatis最新版本+系统编码UTF-8 文件配置 application.properties # 应用 ...
- 数据类型之字符串(string)(二)
1.字符串索引 name = "Liu Dehua" print(name[0]) 返回结果: 'L' 注意:索引从0开始. 2.反索引--通过字符找位置 name.index(& ...
- PHP 网页 apache24+php8 yii basic
PHP官网下载 https://windows.php.net/download/ 在PHP官网点击Download下载时不管选择哪个版本的都有两个类型 : Non Thread Safe(非线程安全 ...
- 将bat文件设置为开机启动
设置该bat文件开机自启动 1.右键计算机–>管理,选择系统工具–>计划任务程序: 2.选择创建任务,在弹出窗口中,输入任务名称,并选择不管用户是否登录都要运行–>使用最高权限运行: ...
- 在端点0由GET_REPORT类请求上传报表
目录 一般来说HID设备的报表在端点数量资源充裕的情况下都走中断端点上传,不会走控制端点即端点0上传,如果资源不足,可以利用端点0上传报表,USB协议中也是支持在端点0上传报表的. 以CH582为例, ...
- 实验四 Web服务器2
任务详情 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 服务 ...