关于.NET C#调用Sqlite的总结一
--前记
由于自己的密码太多又不容易记住,经常性的会忘记。所以想找个管理软件管理下,可用网上下载的担心不安全。于是自己开始动手写个属于自己的密码管理软件。
因为自己一直做的是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的总结一的更多相关文章
- RT/Metro商店应用如何调用SQLite数据库
RT/Metro商店应用如何调用SQLite数据库 使用前,要安装:SQLite for Windows Runtime (Windows 8.1)(一个VS插件).还有Visual C++ Runt ...
- C#调用SQLite报错:无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块
C#调用SQLite数据库,有些情况下会报以下这个错误: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块 实际上程序目录中是存在SQLite.Interop.dll这个文 ...
- 关于.NET C#调用Sqlite的总结二
关于.NET C#调用Sqlite的总结一 在上一篇中我一直疑惑为什么我在使用多层架构进行开发时总是会报些莫名的错误,难道要使用Sqlite就不能分层吗?只能将UI.业务逻辑.数据访问统统都要写在一层 ...
- 【转】Phonegap离线调用SQLite数据库文件
按:不可多得的好文章,转过来以免源丢失 文章来源:http://liuwei.co/index.php/default/The-quickest-way-to-execute-many-sql-for ...
- Android调用Sqlite数据库时自动生成db-journal文件的原因
数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...
- 【转】Android调用Sqlite数据库时自动生成db-journal文件的原因
数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便 ...
- C#调用SQlite常见问题汇总
最近在做SQLite开发,开发环境是VS2010+ SQLite Ado.Net data Provider.这套Data Provider程序是基于System.Data.SQLite 1.0.66 ...
- python调用sqlite
参考资料:https://www.liaoxuefeng.com/wiki/1016959663602400/1017801751919456 https://www.cnblogs.com/lia ...
- c++ 调用 sqlite
#include <iostream> #include "sqlite3.h" using namespace std; void dbTest() { #pragm ...
随机推荐
- Linux运维跳槽必备的40道面试精华题
过一次年,结婚.存款.父母养老,一系列向钱看的事都在碾压我们本来还挺简单的神经,但难过没有出路,唯有找到好的方法和事业方向,才能实现一步一个脚印的逆袭. 下面是一名资深Linux运维求职数十家公司总结 ...
- jena读取和解析本体文件
使用jena开发本体应用程序时,首先需要对我们利用本体构建工具,如protege等,构建的本体文件,如owl.rdf等读取并解析得到本体模型.下面给出相应的代码,不对的地方请指正. (基于jena 2 ...
- Elasticsearch from+size 超过10000结果解决方法
方法一: 如果需要搜索分页,可以通过from size组合来进行.from表示从第几行开始,size表示查询多少条文档.from默认为0,size默认为10, 如果搜索size大于10000,需要设置 ...
- 封装baseservice
package com.huawei.base; import java.io.Serializable;import java.util.List; public abstract class Ba ...
- 01 lucene基础 北风网项目培训 Lucene实践课程 Lucene概述
lucene-core-2.4.1.jar是lucene开发的核心jar包,lucene-analyzers-2.4.1.jar也是必不可少的.lucene-highlighter-2.4.1.jar ...
- SpringBoot28 RabbitMQ知识点、Docker下载RabbitMQ、SpringBoot整合RabbtiMQ
1 RabbitMQ知识点 1.1 整体架构图 消息生产者将消息投递到exchange中,exchange会以某种路由机制将生产者投递的消息路由到queue中,消息消费者再从queue中获取消息进行消 ...
- cannot import name '_validate_lengths' from 'numpy.lib.arraypad'
在Anaconda下新配置了tensorflow环境,结果在引入skimage 包时报错,错误提示from numpy.lib.arraypad import _validate_lengths,找不 ...
- 关于iOS URL缓存机制原理解析
关于URL缓存机制中 利用request对象判断是否缓存 其实request是否相等的判断依据是URLString是否相等
- 2PC之JTA原理与实现
转自:https://www.ibm.com/developerworks/cn/java/j-lo-jta/index.html 利用 JTA 处理事务 什么是事务处理 事务是计算机应用中不可或缺的 ...
- PXE
PXE 摘自:http://www.360doc.com/content/15/0226/08/17652659_450872586.shtml 一.简介 1.1 什么是PXE PXE(Pre ...