Я изучаю VB.Net и должен работать с базой данных SQLite с использованием решения System.Data.SQLite с открытым исходным кодомINSERT с транзакцией и параметрами?
Примеры, которые я нашел в разделе HOWTO, находятся только в C#. Будет ли у кого-нибудь простой пример в VB.Net, что я мог бы изучить, чтобы понять, как использовать транзакции, когда INSERTing несколько параметров?
FWIW, вот код, я работаю над:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SQLconnect As New SQLite.SQLiteConnection()
Dim SQLcommand As SQLite.SQLiteCommand
Dim SQLtransaction As SQLite.SQLiteTransaction
SQLconnect.ConnectionString = "Data Source=test.sqlite;"
SQLconnect.Open()
SQLcommand = SQLconnect.CreateCommand
SQLcommand.CommandText = "CREATE TABLE IF NOT EXISTS files (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, hash TEXT);"
SQLcommand.ExecuteNonQuery()
'================ INSERT starts here
SQLtransaction = SQLconnect.BeginTransaction()
Dim myparam As New SQLite.SQLiteParameter()
SQLcommand.CommandText = "INSERT INTO [files] ([name],[hash]) VALUES(?,?)"
SQLcommand.Parameters.Add(myparam)
'How to set all parameters? myparam.Value
SQLcommand.ExecuteNonQuery()
SQLtransaction.Commit()
'================ INSERT ends here
SQLcommand.CommandText = "SELECT id,name,hash FROM files"
'How to tell if at least one row?
Dim SQLreader As SQLite.SQLiteDataReader = SQLcommand.ExecuteReader()
While SQLreader.Read()
ListBox1.Items.Add(SQLreader(1))
End While
SQLcommand.Dispose()
SQLconnect.Close()
End Sub
Спасибо.
Edit: Для тех, кто заинтересован, вот некоторые рабочий код:
SQLtransaction = SQLconnect.BeginTransaction()
SQLcommand.CommandText = "INSERT INTO files (name,hash) VALUES(@name,@hash)"
SQLcommand.Parameters.AddWithValue("@name", "myfile")
SQLcommand.Parameters.AddWithValue("@hash", "123456789")
SQLcommand.ExecuteNonQuery()
SQLtransaction.Commit()
Спасибо, ребята. Я нашел образец, который использовал SQLcommand.Parameters.AddWithValue() для добавления элементов в подготовленный запрос. – Gulbahar
А хорошо знать, я всегда делал «SqlCommand.Parameters.Add (новый SqlParameter (имя, значение)); - Я могу сэкономить немного набрав - спасибо :) –