2012-05-07 4 views
0

값을 편집하는 데 사용할 수있는 데이터 바인딩 양식을 인터넷에서 며칠 동안 검색했지만 행운은 없습니다. 누군가가 나를 도울 수 있다면 정말 고마워!Databound WinForm 데이터를 데이터베이스에 삽입하십시오.

독서 값은 완벽하게 작동하지만 업데이트/삽입은 완벽하지 않습니다.

는 FormLoad :

newRow = issueTable.NewRow(); 
newRow["ID"] = Id; 
issueTable.Rows.Add(newRow); 
txtName.DataBindings.Add("Text", issueTable, "Name"); 

저장 : "ID"저장 얻을하지만, "이름"널 (null) 유지 :

SqlCommandBuilder build = new SqlCommandBuilder(adaptor); 
adaptor.InsertCommand = build.GetInsertCommand(); 
adaptor.Update(issueTable); 

내 문제는 SQL 테이블에 있다는 것입니다. 이상한 점은 issueTable.Rows [0] [ "Name"]을 모니터링하면 Form의 값을 반환한다는 것입니다.

감사합니다.

답변

1

문제는 내가 동시에 삽입하고 편집하고 싶다는 것입니다. 행이 삽입 상태에 있으면 업데이트를 차단한다는 것을 알지 못했습니다.

솔루션 :

로드 :

newRow = issueTable.NewRow(); 
newRow["ID"] = Id; 
issueTable.Rows.Add(newRow); 
txtName.DataBindings.Add("Text", issueTable, "Name"); 
newRow.AcceptChanges(); //Remove the Insert State, to accept modifications 
isNew = true; 

저장 :

if (isNew) 
{ 
    newRow.SetAdded(); //Add the Insert State back 
    isNew = false; 
} 

SqlCommandBuilder build = new SqlCommandBuilder(adaptor); 
adaptor.InsertCommand = build.GetInsertCommand(); 
adaptor.UpdateCommand = build.GetUpdateCommand(); 
adaptor.Update(issueTable); 
관련 문제