--前记

由于自己的密码太多又不容易记住,经常性的会忘记。所以想找个管理软件管理下,可用网上下载的担心不安全。于是自己开始动手写个属于自己的密码管理软件。

因为自己一直做的是WEB开发,对WPF懂的不是很多紧管在大学用过WinForm写过软件。然数据库呢?刚开始想用MSSQL可是它不方便复制移动,而且前提要安装MSQL软件。后来就想到使用SQLite,它方便复制移动也不需要安装什么软件。另外代码管理工具用的是我自己的GitHub。

因为第一次用SQLite作数据库,于是发什么了各种莫名的异常。网上查了一些,可有些与我遇到的完全不一样。

开发环境:Win10 x64、VS2013 UP5、.NET Framework 4.5

我的项目框架:

它们之间的引用如下:

MyPasswordManage UI层引用以下类库(BLL、Common、Model)

PasswordManage.BLL 业务层引用(Common、DAL、Model)

PasswordManage.DAL 数据层引用(Common、Model)

因为自己的机器是64位所以一开始下载了sqlite-netFx45-binary-bundle-x64-2012-1.0.97.0.zip包并在DAL层引用了System.Data.SQLite.dll

可以在编译时报了个如下的错

在网上查了下,有人说要将引用dll的那个项目的Platform target改为x86,并且要使用sqlite-netFx45-binary-bundle-Win32-2012-1.0.97.0.zip 即将平台修改为32位,同时要引用32位的Sqlite dll。

可最后还是不能解决问题。最后自己又写了个Demo并且不分层,即将数据读写和业务逻辑都写在UI层上,共一层。这样就不再报错了。另外在连接Sqlite库时写要注意下:

我们一般都会这么写

这时会说无效的连接串。后来查了下改为下面的写法就可以读取了

以上就是我自己个人遇到的一些问题总结。

发现用Sqlite不能分层不知道为什么,好奇怪。如果有用Sqlite开发的,并且可实现分层,请分享下呀!^-^

--后记

关于.NET C#调用Sqlite的总结二

关于.NET C#调用Sqlite的总结一的更多相关文章

  1. RT/Metro商店应用如何调用SQLite数据库

    RT/Metro商店应用如何调用SQLite数据库 使用前,要安装:SQLite for Windows Runtime (Windows 8.1)(一个VS插件).还有Visual C++ Runt ...

  2. C#调用SQLite报错:无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块

    C#调用SQLite数据库,有些情况下会报以下这个错误: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块 实际上程序目录中是存在SQLite.Interop.dll这个文 ...

  3. 关于.NET C#调用Sqlite的总结二

    关于.NET C#调用Sqlite的总结一 在上一篇中我一直疑惑为什么我在使用多层架构进行开发时总是会报些莫名的错误,难道要使用Sqlite就不能分层吗?只能将UI.业务逻辑.数据访问统统都要写在一层 ...

  4. 【转】Phonegap离线调用SQLite数据库文件

    按:不可多得的好文章,转过来以免源丢失 文章来源:http://liuwei.co/index.php/default/The-quickest-way-to-execute-many-sql-for ...

  5. Android调用Sqlite数据库时自动生成db-journal文件的原因

    数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...

  6. 【转】Android调用Sqlite数据库时自动生成db-journal文件的原因

    数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...

  7. C#调用SQlite常见问题汇总

    最近在做SQLite开发,开发环境是VS2010+ SQLite Ado.Net data Provider.这套Data Provider程序是基于System.Data.SQLite 1.0.66 ...

  8. python调用sqlite

    参考资料:https://www.liaoxuefeng.com/wiki/1016959663602400/1017801751919456  https://www.cnblogs.com/lia ...

  9. c++ 调用 sqlite

    #include <iostream> #include "sqlite3.h" using namespace std; void dbTest() { #pragm ...

随机推荐

  1. Selinux相关

    SELinux相关的工具 /usr/bin/setenforce 修改SELinux的实时运行模式 setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 ...

  2. bootstrap 的页码显示问题-------------德州

    之前一个小bug,无论上边怎么搜索,下边的页码,不会改变 调整: 1,在mapper中添加计数, 2,找到service,queryPage中添加, 3,关键一部,如果没有会报错:,找不到该列 so, ...

  3. iOS学习之UINavigationController详解与使用(二)页面切换和segmentedController

    iOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem是上篇,我们接着讲UINavigationController的重要作用,页面的管理和切换. ...

  4. SPI子系统分析之三:驱动模块

    内核版本:3.9.5 SPI核心层(平台无关) SPI子系统初始化的第一步就是将SPI总线注册进内核,并且在/sys下创建一个spi_master的类,以后注册的从设备都将挂接在该总线下. 下列函数位 ...

  5. node模块示例

    来源于慕课网课程:http://www.imooc.com/video/6701 (视频) 模块的流程图如下: 做一个学校的模块示例 建一个学生的js studet.js function add(s ...

  6. 微信小程序开发注意点和坑集

    开发(Tips)   避开频繁setData * 小程序端对于频繁的逻辑层和显示层的交互很不友好,特别是安卓机,与浏览器上js直接操作DOM不同,小程序通过逻辑更新显示层并不完全实时,开发者应避免出现 ...

  7. python's metaclass

    [python's metaclass] 和objc中类似,metaclass用于创建一个类对象,但与objc不同的是,objc中每个类对象有各自不同的metaclass,而python中的metac ...

  8. 49. Group Anagrams同义词合并

    [抄题]: Given an array of strings, group anagrams together. Example: Input: ["eat", "te ...

  9. 基于HTML5的RDP访问实战

    基于HTML5的RDP访问实战 1.安装guacamole   2.下载源码   3.安装服务端 安装报错 错误   参考 http://www.remotespark.com/html5.html ...

  10. Shiro 集成Spring 使用 redis时 使用redisTemplate替代jedisPool(五)

    1.添加依赖架包: <dependency> <groupId>org.springframework.data</groupId> <artifactId& ...