2013-11-22 52 views
0

我正在努力使用一些SQLite到VB.net代碼。我正在使用sharpdevelop 4.0來嘗試使用SQLiteadmin連接到SQLite數據庫。我已經設置好了,只需要幫助他們在主要負載時連接到彼此。我已經把代碼放在mainform中(見下文)數據庫被稱爲「KCB.db3」。當我點擊按鈕時,我收到一條錯誤消息,指出連接已關閉。我做錯了什麼?在sharpdevelop中的SQLite連接4

Dim SQLconnect As New System.Data.SqlClient.SqlConnection 
Dim SQLcommand As System.Data.SqlClient.SqlCommand 
Dim SQLreader As System.Data.SqlClient.SqlDataReader 

Sub Button1Click(sender As Object, e As EventArgs) 
    'Procedure to extract records from People table in Contacts SQLite database file 
    'Create an SQL command 
    SQLcommand = SQLconnect.CreateCommand 
    'Create SQL statement 
    SQLcommand.CommandText = "SELECT * FROM Staff" 
    'Extract data 
    SQLreader = SQLcommand.ExecuteReader() 

    While SQLreader.Read() 
     'Add record to listbox 
     msgbox(SQLreader("Staff_ID")) 
     msgbox(SQLreader("Staff_Surname")) 
     msgbox(SQLreader("Staff_First_Name")) 
    End While 
    'Clear SQL command buffer 
    SQLcommand.Dispose() 
End Sub 

Sub MainFormLoad(sender As Object, e As EventArgs) 
    SQLconnect.ConnectionString = "data source = KCD.db3" 
    SQLconnect.Open() 
End Sub 

我希望有人可以幫助!謝謝

+0

我不明白是什麼問題? –

+0

當我點擊按鈕時,我收到一條錯誤消息,指出連接已關閉。需要連接 –

+0

在你的SQL命令中,你需要添加連接。 –

回答

0

您似乎試圖使用Microsoft Sql Server客戶端連接到SQLite,這是不會工作。

如果您安裝使用的NuGet SQLite的,那麼你可以改變你的變量是以下幾種類型:

Dim SQLconnect As New System.Data.SQLite.SQLiteConnection 
Dim SQLcommand As System.Data.SQLite.SQLiteCommand 
Dim SQLreader As System.Data.SQLite.SQLiteDataReader 

那麼你的代碼的其餘部分應該工作。

上述SQLiteConnection,SQLiteCommand和SQLiteDataReader類位於System.Data.SQLite程序集中,安裝SQLite NuGet程序包後將引用該程序集。

+0

是的,我們已經在上面的代碼!我設法讓它工作。可以肯定的是,Sharpdevelop的最新版本降級並且工作正常!儘管謝謝你的解決方案! –

+0

原始問題中的代碼使用SqlClient而不是SQLite類。如果這被改變,那麼代碼應該在所有版本的SharpDevelop中工作。 –