当前位置: 首页 > news >正文

网站做信息流全网网络营销

网站做信息流,全网网络营销,云台山旅游景区网站建设内容,做团购网站的公司前言 近几天的几篇文章讲的内容非前面内容如系列的讲解,这几天文章都是我在项目中遇到的问题以及重新学习的知识,所以和大家分享一下,关于SQLite的文章多如牛毛,但是有些大多已经过时,为什么说过时,之前都是…

前言

近几天的几篇文章讲的内容非前面内容如系列的讲解,这几天文章都是我在项目中遇到的问题以及重新学习的知识,所以和大家分享一下,关于SQLite的文章多如牛毛,但是有些大多已经过时,为什么说过时,之前都是在SQLite官网中下载dll或者exe来实现,现如今我们可以直接安装SQLite程序包,又方便了我们,同时作者对于SQLite也没用过,这也是项目需要才去学习SQLite的使用,欢迎和大家一起探讨。

安装SQLite

通过NUGet来安装SQlite程序包,如下:

此时自然而然在包中会有如下SQLite、SQLiteCore、SQLiteEF等程序集

 接着就是写我们的SQLite语句了,简直是so easy!在学习当中我们可以这样玩玩,仅仅是玩玩而已,在实际项目中,难道我们把这些程序集就直接扔在pacakages中吗,肯定不是这样,我们仅仅只需要其中的程序集即可。关于使用SQLite必须要用【 System.Data.SQLite.dll 】和【 SQLite.Interop.dll 】就不再叙述了,其他EF和Linq的程序集都是为了配合EF而用,我们根据项目情况而定可要可不要,这里我们没有添加。我们删除了包中这几个程序集同时为了防止重新生成解决方案时NuGet在包配置 【packages.config】 检测到缺少而重新安装,我们在包配置中将这几个进行删除。此时我们再来生成解决方案则出错如下:

根据经验来看,一般来说如果是对项目进行命名或者进行其他修改生成解决方案而出错,八九不离十是对其修改的内容修改成功但是在项目中以扩展名为【 csproj 】的项目主文件未进行对应的修改而造成,我们去找找看。

我们看到当生成解决方案时会重新加载该文件,该文件会导入SQLite但是此时我们已经删除则会出现下面的错误,此时我们将其导入和错误内容进行删除即可生成解决方案成功。我们将程序集进行如下放置:

(1)非空MVC项目 

我们来写一个向SQLite数据库中插入的语句,我们准备好插入的SQLite语句:

        /// <summary>  /// 对SQLite数据库执行增删改操作,返回受影响的行数。  /// </summary>  /// <param name="sql">要执行的增删改的SQL语句</param>  /// <param name="parameters">执行增删改语句所需要的参数,参数必须以它们在SQL语句中的顺序为准</param>  /// <returns></returns>  public static int ExecuteNonQuery(string sql){int affectedRows = 0;if (IsDBInitialized()){try{using (SQLiteConnection connection = new SQLiteConnection(s_ConnectionString)){connection.Open();using (DbTransaction transaction = connection.BeginTransaction()){using (SQLiteCommand command = new SQLiteCommand(connection)){command.CommandText = sql;affectedRows = command.ExecuteNonQuery();}transaction.Commit();}}}catch (Exception ex){}}return affectedRows;}

我们给出插入测试语句:

SQLiteHelper.ExecuteNonQuery("insert into Test(Id,TestValue) values(1,2)");

我们来看看演示结果:

结果如我们所期望那样,请记住这样演示的前提是我们建立的项目是【非空MVC项目即基础MVC项目】,同时将【SQLite.Interop.dll】和【System.Data.SQLite.dll】程序集放在同一文件夹中同样好使。

(2)空MVC项目且SQLite位于同一项目中

 此时我们来演示第二种情况,我们建立一个空的MVC项目将上述两个SQLite程序集放在同一文件夹下我们来插入数据试试。

结果出现如下错误:

此时我们将【SQLite.Interop.dll】放在x86或者x64文件夹中根据自身操作系统来取这个程序集。看下演示结果:

此时如上存放【SQLite.Interop.dll】程序集则成功,我们再来看看能否将x64或者x86取名为任何其他名字:

 如上我们将存放【SQLite.Interop.dll】程序集的名字修改为test此时则依然出错找不到入口点。从这里可以看出存放【SQLite.Interop.dll】程序集文件夹名字要么是x86或者x64。好了,到了这里是不是就完了呢,还没有,我们一直演示的是将SQLite放在一个项目中,要是将其作为另外的一个项目又是怎样的情况呢?我们来看看。

(3)空MVC项目但SQLite位于另外一个项目中

关于将【SQLite.Interop.dll】和【System.Data.SQLite.dll】放在同一文件夹中则不再演示,很明显在同一项目中都不好使,何况是在另外一个项目中呢,我们来看看放在另外一个项目中的结构:

如上我们和上述空MVC项目正确情况一样放置,我们来看看结果:

令我们大跌眼镜,将SQLite单独放在一个项目中则出错了,此时我们将【SQLite.Interop.dll】程序集属性【复制到输出目录】设置为【始终复制】看看,我们再来看看演示结果:

 

好了到了这里才完全结束,这几种情况你懵逼了还是弄懂了。

总结

(1)关于建立非空MVC项目在里面建立SQLite你爱怎么玩就怎么玩,不过是学习而已,猜测大概是MVC内置做了处理。

(2)关于建立空MVC项目在里面建立SQLite,不能将【SQLite.Interop.dll】和【System.Data.SQLite.dll】放在同一文件夹中,需要将【SQLite.Interop.dll】程序集放在x86或者x64文件夹中且文件夹名字不能更改。

(3)关于建立的空MVC项目但将SQLite单独建立成一个项目时,将【SQLite.Interop.dll】和【System.Data.SQLite.dll】不能放在同一文件夹,需要将【SQLite.Interop.dll】放在x86或者x64文件夹中且文件夹名字不能更改的同时需要将【SQLite.Interop.dll】的属性【复制到输出目录】设置为【始终复制】。

 以上的种种注意都是通过NuGet安装的最新SQLite而需要注意的地方,而非这种情况请另寻他法。

http://www.lbrq.cn/news/2565505.html

相关文章:

  • 人大门户网站建设方案推广产品的软文怎么写
  • 绍兴网站建设模板网站百度浏览器官方下载
  • 专门做海外服装购的网站有哪些网站策划书案例
  • 大淘客网站建设nba赛季排名
  • 好便宜建站网络推广渠道公司
  • 个人网站设计内容和要求百度云
  • 邢台12345网站域名访问网站怎么进入
  • 西安企业网站日本产品和韩国产品哪个好
  • 厦门建设局网站技司学校百度推广官网入口
  • 杭州网站的特点百度一下手机版网页
  • 微网站建设包括哪些香水推广软文
  • 阿芹网站建设seo黑帽技术工具
  • 网站代码特效广告结构优化是什么意思
  • 做网站优化排名怎么弄一个自己的网站
  • 网站建设方案及报网站建设报价单
  • 怎么让别人访问自己做的网站win7一键优化工具
  • 网站开发的在淘宝上是什么类目网站服务器信息查询
  • wordpress中的角色长沙seo智优营家
  • 求个网站2021能用的优化网站seo方案
  • wordpress $数组安卓优化清理大师
  • 英文网站制作 官网今天热点新闻事件
  • 织梦网站识别百度权重什么意思
  • interidea 做网站常州seo博客
  • 公司flash网站模板优化网站怎么做
  • 杭州富阳网站建设公司品牌营销策划怎么写
  • 手机网站欣赏关键词排名查询软件
  • app与网站的区别功能seo常用工具有哪些
  • 哪几个小说网站做网编拿的钱多头条新闻今日头条官方版本
  • 如何在网站上做支付功能网站标题优化排名
  • 手机端网站建设公司商丘网络推广公司
  • 深入 Go 底层原理(六):垃圾回收(GC)
  • SQL语言学习(group by,having)
  • hcip---ospf知识点总结及实验配置
  • 大模型推理引擎总结
  • Linux中Docker Swarm介绍和使用
  • 什么是三防平板电脑?三防平板有什么作用?