转载请注明出处: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. 我来给.Net设计一款HttpClient

    1前言 时间飞快,转眼半年,碌碌无为,眼下就要三十而立,回想三年前的今天,我将NetworkSocket库开放到github,一直在更新与学习,不求有这个库能有多好,只求自己在过程能成长,将领悟到一些 ...

  2. Beta的计划和人员的变动

    一.新的成员和组长是否重选: 刘光华:先加入的一个帅哥,乐于助人,编码基础不是很好,但是有一颗热爱学习的心,会积极主动的完成自己的任务的,一句话宣言:我们的团队是最棒的! 程志铭:做事认真负责,工作脚 ...

  3. 【Beta】 第一次Daily Scrum Meeting

    一.本次会议为第一次meeting会议 二.时间:20::0AM-20:50AM 地点:宿舍楼下 三.会议站立式照片 四.今日任务安排 成员 昨日任务 今日任务 林晓芳   对已完成的功能进行进一步测 ...

  4. 201521123092《java程序设计》第八周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4 ...

  5. 201521123108 《Java程序设计》第6周学习总结

    本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 书面作业 2.1. clone方法 1.1 Object对象中的 ...

  6. 201521123017 《Java程序设计》第10周学习总结

    1. 本周学习总结 2. 书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 4-2中finally中捕获异常需要注意什么? 1.1 截图 1.2 4-2中fin ...

  7. java课设-计算数学表达式的程序,201521123050,肖世松,个人

    1.团队课程设计博客链接 http://www.cnblogs.com/xss666/p/7063780.html 2.个人负责模块或任务说明 个人负责:计算器外观,左容器CalPanelL p1: ...

  8. JSR303的数据校验-Hibernate Validator方式实现

    1.什么是JSR303? JSR303是java为bean数据合法性校验所提供的一个标准规范,叫做Bean Validation. Bean Validation是一个运行时的数据校验框架,在验证之后 ...

  9. Java学习笔记二---设置环境变量JAVA_HOME,CLASSPATH,PATH

    1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...

  10. String和StringBuffer分别作为参数传递注意项

    public staticvoid main(){ String s1 = "abc"; StringBuffer sb = new StringBuffer(); sb.appe ...