转载请注明出处:HateMath归来(http://www.cnblogs.com/hatemath/)

环境:

Visual Studio  社区版

64位 Windows 7系统

新建的解决方案基于.Net 4.5.0.0

步骤:

1.下载安装 System.Data.SQLite

主页:http://system.data.sqlite.org/index.html

因为我是64位win7,所以下载的是64位的版本,下载地址(64位):

http://system.data.sqlite.org/blobs/1.0.105.2/sqlite-netFx45-setup-x64-2012-1.0.105.2.exe

默认安装路径是:C:\Program Files\System.Data.SQLite

2.用Vb.net新建一个解决方案,基于.net 4.5.0.0

然后放置一个DataGridView,一个Button,属性均默认。

3. 添加dll

在“解决方案管理器”中,找到工程名称(不是解决方案名称),右键弹出菜单,选择:添加-》引用

然后按图示操作:

4. 输入代码

 Imports System.Data.SQLite
 Public Class Form1
     Dim conn As SQLiteConnection
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
         If System.IO.File.Exists("test.db3") = True Then
             System.IO.File.Delete("test.db3")
         End If
         SQLiteConnection.CreateFile("test.db3")
         conn = New SQLiteConnection("Data Source=test.db3;Pooling=true;FailIfMissing=false")
         If conn.State <> ConnectionState.Open Then
             conn.Open()
             MsgBox("打开成功!")
         End If

         Dim cmd As New SQLiteCommand
         cmd.Connection = conn
         cmd.CommandText = "CREATE TABLE Test (ID INTEGER PRIMARY KEY,TestName VARCHAR(500),TestTime DateTime,Operator VARCHAR(100))"
         Dim result As Integer = cmd.ExecuteNonQuery()
          Then
             MsgBox("成功")
         Else
             MsgBox("失败")
         End If

         cmd = conn.CreateCommand()
         cmd.CommandText = "insert into Test(TestName,TestTime,Operator)values(@Name,@TestTime,@Operator)"
         cmd.Parameters.Add("@Name", Data.DbType.String).Value = "动静"
         cmd.Parameters.Add("@TestTime", Data.DbType.DateTime).Value = Now()
         cmd.Parameters.Add("@Operator", Data.DbType.String).Value = "peer"
         result = cmd.ExecuteNonQuery()
          Then
             MsgBox("插入成功")
         End If
         SelectShowInfo()

         '
         cmd = conn.CreateCommand()
         cmd.CommandText = "update  Test set TestName='动静1'"
         result = cmd.ExecuteNonQuery()
          Then
             MsgBox("更新成功")
         End If
         SelectShowInfo()

         '

         cmd = conn.CreateCommand()
         cmd.CommandText = "delete from Test"
         result = cmd.ExecuteNonQuery()
          Then
             MsgBox("删除成功")
         End If
         SelectShowInfo()

         cmd.Dispose()

         If conn.State = ConnectionState.Open Then
             conn.Close()
         End If
     End Sub

     Public Sub SelectShowInfo()
         Dim sa As New SQLiteDataAdapter("select * from Test", conn)
         Dim ds As New System.Data.DataSet
         sa.Fill(ds, "Test")
         Dim mytable As New System.Data.DataTable
         mytable = ds.Tables("Test")
         Me.DataGridView1.DataSource = mytable
         Me.DataGridView1.Refresh()
     End Sub
 End Class

5.运行,单击 Button1,出现异常:

System.DllNotFoundException:“无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块。

如图:

解决方法:

将C:\Program Files\System.Data.SQLite\2012\bin中的SQLite.Interop.dll和SQLite.Interop.pdb拷贝到工程的debug目录。

6.重新运行程序,再次出错:

System.BadImageFormatException:“试图加载格式不正确的程序。 

如图:

明明是一个正常的64位平台的dll文件,为什么说格式不正确呢?

原来,问题出在visual studio的解决方案平台上,默认的是“Any CPU”

我们需要新建一个64位的平台:

并记得把SQLite.Interop.dll和SQLite.Interop.pdb拷贝到工程的bin\x64\debug目录,不然又提示dll找不到了。

7.再次重新运行程序,可以正常的打开数据库,而且成功的插入、修改、删除记录。

(完)

转载请注明出处:HateMath归来(http://www.cnblogs.com/hatemath/)

(图文实例)用VB.net操作SQLite数据库的更多相关文章

  1. Python操作SQLite数据库的方法详解

    Python操作SQLite数据库的方法详解 本文实例讲述了Python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简单介绍 SQLite数据库是一款非常小巧的嵌入式开 ...

  2. UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

    在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...

  3. C#操作SQLite数据库增、删、改、查 欢迎转载

    C#操作SQLite数据库增.删.改.查 欢迎转载 转载记得留下链接地址哦!!! 最近项目上要使用SQLite数据库,不怕大伙笑话毕业四年多了,一直使用Oracle或者MySQL或者SQLServer ...

  4. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  5. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  6. EF6操作Sqlite数据库的项目兼容性问题

    vs2010无法正确打开2015创建的项目里面操作Sqlite数据库时使用EF6创建的edmx文件(会显示空白)   但是可以正常查询 vs2015无法正确打开2010创建的项目里面操作Sqlite数 ...

  7. EF操作sqlite数据库时的项目兼容性问题

    问题:vs2015打不开vs2010建的操作sqlite的实体数据模型edmx文件 原因: 当前电脑必须先安装:驱动库及sqlite的vs拓展 正常情况下安装驱动和拓展后,vs2015就应该可以正常打 ...

  8. JDBC访问及操作SQLite数据库

    SQLite 是一个开源的嵌入式关系数据库,其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进 ...

  9. Android中操作SQLite数据库

    我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...

随机推荐

  1. 字符编码笔记:ASCII,Unicode和UTF-8(转)

    字符编码笔记:ASCII,Unicode和UTF-8 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料. 结果,这个 ...

  2. MITNIK ATTACK

    Https 443 http 80 TCP/IP 协议栈:将数据封装包头 传输层报头 Ack回复确认位 FIN结束位 SIN 开始位 RST 重置位 Seq 序号位 网络层报头 目的地址 原地址 报文 ...

  3. 软件工程(GZSD2015)学生博客列表

    2015年贵州师范大学软件工程课程学生博客列表 陈小丽 郑倩 唐洁 周娟 李利思 肖俊 罗文豪 周静 徐明艳 毛涛 邓洪虹 岳庆 李盼 安坤 何亚 涂江凤 张义平 杨明颢 杨家堂 胡贵玲 寿克霞 吴明 ...

  4. 【Alpha】第七次Daily Scrum Meeting

    GIT 一.今日站立式会议照片        二.会议内容 1.讨论送礼物的方法和对象,使功能更加完善. 2.对于程序还存在的问题提出自己的看法,尽量让功能更加的饱满. 三.燃尽图 四.遇到的困难 能 ...

  5. Quartz2.2.x官方教程

    零.Quartz是什么?能干什么? Quartz是一个开源的任务调度框架.基于定时.定期的策略来执行任务是它的核心功能,比如x年x月的每个星期五上午8点到9点,每隔10分钟执行1次.Quartz有3个 ...

  6. 201521123024《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 注意conve ...

  7. Java 第七周总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 我们知道ArrayList是允许重复的,有序的元素的集合,但当我们想用它来放 ...

  8. 201521123026 《Java程序设计》第4周学习总结

    1. 本章学习总结 尝试使用思维导图总结有关继承的知识点 使用常规方法总结其他上课内容 1.类的重写:在子类中重写的方法需要和父类被重写的方法具有相同的方法名.参数列表以及返回值类型.当子类重写父类的 ...

  9. 201521123113《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 Q1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...

  10. SharePoint备份文件

    stp文件:SharePoint的.stp文件   在做一个和SharePoint有关的项目时,由于对SharePoint的unfamiliar,所以客户发了几个后缀为.stp的文件将我纳闷了半天,不 ...