【圖文執行個體】【原創】用VB.net操作SQLite資料庫

來源:互聯網
上載者:User

標籤: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 Then11             conn.Open()12             MsgBox("開啟成功!")13         End If14 15         Dim cmd As New SQLiteCommand16         cmd.Connection = conn17         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 Then20             MsgBox("成功")21         Else22             MsgBox("失敗")23         End If24 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 Then32             MsgBox("插入成功")33         End If34         SelectShowInfo()35 36         ‘37         cmd = conn.CreateCommand()38         cmd.CommandText = "update  Test set TestName=‘動靜1‘"39         result = cmd.ExecuteNonQuery()40         If result <> 0 Then41             MsgBox("更新成功")42         End If43         SelectShowInfo()44 45         ‘46 47         cmd = conn.CreateCommand()48         cmd.CommandText = "delete from Test"49         result = cmd.ExecuteNonQuery()50         If result <> 0 Then51             MsgBox("刪除成功")52         End If53         SelectShowInfo()54 55         cmd.Dispose()56 57         If conn.State = ConnectionState.Open Then58             conn.Close()59         End If60     End Sub61 62     Public Sub SelectShowInfo()63         Dim sa As New SQLiteDataAdapter("select * from Test", conn)64         Dim ds As New System.Data.DataSet65         sa.Fill(ds, "Test")66         Dim mytable As New System.Data.DataTable67         mytable = ds.Tables("Test")68         Me.DataGridView1.DataSource = mytable69         Me.DataGridView1.Refresh()70     End Sub71 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資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.