我正在编写一段代码(VB.NET)来清理(相当大的)数据表。
我正在连接到我的 SQL 数据库,遍历表,清理数据并将清理后的数据添加到不同的列中。
由于我目前正在为我清理数据的同一循环中的每条记录更新我的数据库,我想知道是否有更有效的方法来执行此操作,我将清理数据然后发送所有一次更新的记录到数据库。
简化代码:
'Connect
SQLConn.ConnectionString = strConnection
SQLConn.Open()
SQLCmd.Connection = SQLConn
SQLConn2.ConnectionString = strConnection
SQLConn2.Open()
SQLCmd2.Connection = SQLConn2
'Set query
strSQL = "SELECT Column1 FROM Table1"
SQLCmd.CommandText = strSQL
'Load Query
SQLdr = SQLCmd.ExecuteReader
'Start Cleansing
While SQLdr.Read
Cleansing()
'Add to database
strSQL2 = "UPDATE Table1 SET Clean_data = '" & strClean & "' WHERE Dirty_Data = '" & SQLdr(0).ToString & "'"
SQLCmd2.CommandText = strSQL2
SQLCmd2.ExecuteNonQuery()
End While
'Close Connections
SQLdr.Close()
SQLConn.Close()
SQLConn2.Close()
我猜测(通过寻找解决方案)可以在我的循环之外进行更新,但我似乎无法找到具体的方法。
非常感谢!