标签:image 系统 button ndt .net 测试 span new windows 7
转载请注明出处:HateMath归来(http://www.cnblogs.com/hatemath/)
环境:
Visual Studio 2017 社区版 64位 Windows 7系统 新建的解决方案基于.Net 4.5.0.0
步骤:
1.下载安装 System.Data.SQLite
主页:http://system.data.sqlite.org/index.html
因为我是64位win7,新建的解决方案基于.Net 4.5.0.0,所以下载的是针对64位、.net4.5的版本,下载地址:
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. 在vb.net中添加对dll的引用
在“解决方案管理器”中,找到工程名称(不是解决方案名称),右键弹出菜单,选择:添加-》引用
然后按图示操作:
4. 输入测试代码
代码引用自 風雲工作室,http://blog.csdn.net/angxiao/article/details/7732018
1 Imports System.Data.SQLite 2 Public Class Form1 3 Dim conn As SQLiteConnection 4 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 5 If System.IO.File.Exists("test.db3") = True Then 6 System.IO.File.Delete("test.db3") 7 End If 8 SQLiteConnection.CreateFile("test.db3") 9 conn = New SQLiteConnection("Data Source=test.db3;Pooling=true;FailIfMissing=false") 10 If conn.State <> ConnectionState.Open Then 11 conn.Open() 12 MsgBox("打开成功!") 13 End If 14 15 Dim cmd As New SQLiteCommand 16 cmd.Connection = conn 17 cmd.CommandText = "CREATE TABLE Test (ID INTEGER PRIMARY KEY,TestName VARCHAR(500),TestTime DateTime,Operator VARCHAR(100))" 18 Dim result As Integer = cmd.ExecuteNonQuery() 19 If result = 0 Then 20 MsgBox("成功") 21 Else 22 MsgBox("失败") 23 End If 24 25 cmd = conn.CreateCommand() 26 cmd.CommandText = "insert into Test(TestName,TestTime,Operator)values(@Name,@TestTime,@Operator)" 27 cmd.Parameters.Add("@Name", Data.DbType.String).Value = "动静" 28 cmd.Parameters.Add("@TestTime", Data.DbType.DateTime).Value = Now() 29 cmd.Parameters.Add("@Operator", Data.DbType.String).Value = "peer" 30 result = cmd.ExecuteNonQuery() 31 If result <> 0 Then 32 MsgBox("插入成功") 33 End If 34 SelectShowInfo() 35 36 ‘ 37 cmd = conn.CreateCommand() 38 cmd.CommandText = "update Test set TestName=‘动静1‘" 39 result = cmd.ExecuteNonQuery() 40 If result <> 0 Then 41 MsgBox("更新成功") 42 End If 43 SelectShowInfo() 44 45 ‘ 46 47 cmd = conn.CreateCommand() 48 cmd.CommandText = "delete from Test" 49 result = cmd.ExecuteNonQuery() 50 If result <> 0 Then 51 MsgBox("删除成功") 52 End If 53 SelectShowInfo() 54 55 cmd.Dispose() 56 57 If conn.State = ConnectionState.Open Then 58 conn.Close() 59 End If 60 End Sub 61 62 Public Sub SelectShowInfo() 63 Dim sa As New SQLiteDataAdapter("select * from Test", conn) 64 Dim ds As New System.Data.DataSet 65 sa.Fill(ds, "Test") 66 Dim mytable As New System.Data.DataTable 67 mytable = ds.Tables("Test") 68 Me.DataGridView1.DataSource = mytable 69 Me.DataGridView1.Refresh() 70 End Sub 71 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/)
标签:image 系统 button ndt .net 测试 span new windows 7
原文地址:http://www.cnblogs.com/hatemath/p/7668553.html