2009-12-11 8 views
0

웹 양식 페이지에 편집 가능한 GridView가 있습니다. 사용자는 레코드를 입력 할 수 있으며 LINQ를 사용하여 제출을 누르면 레코드를 데이터베이스에 삽입합니다. 그것은 절대적으로 잘 작동합니다.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() 

답변

1

당신은 당신의 고유 한 식별자를 사용할 수 있습니다 (I 컨트롤 이름으로 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() 
관련 문제