我的webforms页面上有一个可编辑的GridView。用户可以输入记录,在使用LINQ命中提交后,我将记录插入数据库。它工作得非常好。
我无法弄清楚如何更新记录。一旦用户点击提交按钮,我就会在GridView中填充记录,我需要更新现有记录。
如何做到这一点?
Dim db as new empDBDataContext
Dim rw As GridViewRow
Dim emp as new employee
emp.name="test"
emp.city="NYC"
emp.age=40
For each rw in GridView1.Rows
Dim cert as new certifications
cert.Name=CType(rw.FindControl("lblCert"), TextBox).Text
cert.score=CType(rw.FindControl("lblScore"), TextBox).Text
emp.cert.add(cert)
Next
db.emp.insertonsubmit(emp)
db.submitChanges()
答案 0 :(得分:1)
您可以使用您的唯一标识符来验证数据库中的行(我使用lblId
作为控件名称)。然后,将属性设置为更新的值。它与您为插入物所做的非常相似。请原谅我的VB语法无知......
For each rw in GridView1.Rows
// Load the cert based on the ID of the row.
Dim cert
cert = (from c in db.certifications
where c.Id = (int) CType(rw.FindControl("lblId"), TextBox).Text).Single()
// Update the values.
cert.Name=CType(rw.FindControl("lblCert"), TextBox).Text
cert.score=CType(rw.FindControl("lblScore"), TextBox).Text
Next
// Submit all the changes.
db.submitChanges()