2013-11-22 7 views
0

Я борюсь с некоторым кодом SQLite для VB.net. Я использую sharpdevelop 4.0, чтобы попытаться подключиться к базе данных SQLite с помощью SQLiteadmin. Я настроил и тот, и просто нуждаюсь в помощи, чтобы заставить их подключаться друг к другу, когда они меняют нагрузку. Я поместил код в mainform (см. Ниже). База данных называется «KCB.db3». Когда я нажимаю кнопку, я получаю сообщение об ошибке, сообщающее, что соединение закрыто. Что я делаю неправильно?Соединение SQLite в sharpdevelop 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, который не будет работать.

При установке SQLite с помощью NuGet, то вы можете изменить переменные быть следующие типы:

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. –