我想用SQL select語句的結果填充數據表,但使用事務。我使用事務的原因是因爲我有一個名稱列表(作爲數據表),我想遍歷名稱列表並選擇名稱=列表中的名稱的數據庫行。數據庫中有500,000個名字,我只想要檢索相關的行。我有這個程序的代碼,因爲我認爲它應該看起來像(未測試),但我不知道如何將數據放入數據表....所以我錯過了我聲明數據表的地方和該表的'填充' ,有人可以幫忙嗎?或者建議我怎樣才能從batabase中獲取信息,而無需單獨查看每個名稱。使用SQL'選擇'在數據表中填充數據表
Using connection As New SQLite.SQLiteConnection(R2WconectionString)
connection.Open()
Dim sqliteTran As SQLite.SQLiteTransaction = connection.BeginTransaction()
Try
oMainQueryR = "SELECT NameID, Address, Ocupation FROM Employees Where Name= :Name"
Dim cmdSQLite As SQLite.SQLiteCommand = connection.CreateCommand()
With cmdSQLite
.CommandType = CommandType.Text
.CommandText = oMainQueryR
.Parameters.Add(":Name", SqlDbType.VarChar)
End With
'Prevent duplicate selects by using a dictionary
Dim NameInalready As New Dictionary(Of String, String)
For Each row As DataRow In TheLIST.Rows
If NameInalready.ContainsKey(row.Item("Name")) Then
Else
NameInalready.Add(row.Item("Name"), "")
cmdSQLite.Parameters(":Name").Value = row.Item("Name")
cmdSQLite.ExecuteNonQuery()
End If
Next
sqliteTran.Commit()
Catch ex As Exception
End Try
End Using
列表中可能有大約500個名字,我應該說我的appology,我也認爲Transactions也是加快多個數據庫查詢的好方法。這是我第三天交易,所以我在這方面相當綠色。 – user1500403 2012-08-01 01:27:50
謝謝你,這些添加使整個代碼完美工作! – user1500403 2012-08-01 01:58:33
我想問一下如何實現閱讀器解決方案?儘管上述情況在極端情況下可用,但數據表太大而無法存儲在內存中,因此讀者可能是一個很好的解決方案,但是如何在循環名稱的同時實現讀者的讀寫? – user1500403 2012-08-31 00:57:04