VB.Net에 대해 배우고 있으며 오픈 소스 System.Data.SQLite ADO.Net 솔루션을 사용하여 SQLite 데이터베이스로 작업해야합니다.트랜잭션 및 매개 변수가있는 INSERT?
HOWTO 섹션에있는 예제는 C#에만 있습니다. VB.Net에서 여러 매개 변수를 INSERT 할 때 트랜잭션을 사용하는 방법을 이해할 수있는 간단한 예제가 있습니까?
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
감사합니다 :
FWIW, 여기에 내가 일하고 있어요 코드입니다.
편집 :
가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 (name, value));"를 수행했습니다. - 나 자신을 약간의 타이핑을 구할 수있다 - 고마워. :) –