ASP.NET:循环数据库
我现在有一个页面可以100%运行,它根据通过querystring发送的id更新数据库。现在,我想让这个函数对数据库中的每一行执行,而不需要发送查询字符串ASP.NET:循环数据库,asp.net,database,loops,Asp.net,Database,Loops,我现在有一个页面可以100%运行,它根据通过querystring发送的id更新数据库。现在,我想让这个函数对数据库中的每一行执行,而不需要发送查询字符串 Dim amzRepeater As DataRowView = e.Item.DataItem Dim myId As String = Request.QueryString("Id") Dim amzUrl As String = amzRepeater.Row("AmazonUrl") amazonURL
Dim amzRepeater As DataRowView = e.Item.DataItem
Dim myId As String = Request.QueryString("Id")
Dim amzUrl As String = amzRepeater.Row("AmazonUrl")
amazonURL.Value = amzUrl
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim aHtml As New HtmlWeb
Dim aDoc As HtmlDocument = aHtml.Load(amazonURL.Value)
Dim aNode As HtmlAgilityPack.HtmlNode
aNode = aDoc.DocumentNode.SelectSingleNode("//div[@id='olpDivId']/span[2]")
Dim UsedPrice As String = aNode.InnerText
Dim i As Integer = UsedPrice.IndexOf("$")
UsedPrice = UsedPrice.Substring(i + 1)
Dim connStr As String = ConfigurationManager.ConnectionStrings("arprimaryConnectionString").ConnectionString
Dim con As New SqlConnection(connStr)
Dim cmd As New SqlCommand("UPDATE Amazon SET AmazonUsedPrice = @AmazonUsedPrice, LastUpdated = @LastUpdated WHERE (id = @id)", con)
cmd.Parameters.AddWithValue("@AmazonUsedPrice", UsedPrice)
cmd.Parameters.AddWithValue("@LastUpdated", DateTime.Now.ToString)
cmd.Parameters.AddWithValue("@Id", myId)
Using con
con.Open()
cmd.ExecuteNonQuery()
End Using
MsgBox("Update Sucesfull.")
您应该能够从SQL语句中删除WHERE子句和id参数。这将更新每一行:
Dim cmd As New SqlCommand("UPDATE Amazon SET AmazonUsedPrice = @AmazonUsedPrice, LastUpdated = @LastUpdated", con)
cmd.Parameters.AddWithValue("@AmazonUsedPrice", UsedPrice)
cmd.Parameters.AddWithValue("@LastUpdated", DateTime.Now.ToString)
你想让每一行都有相同的@amazonsedprice吗?