2009-11-28 4 views

답변

0

기본 키를 추가 할 수 있습니까?

어떤 종류의 고유 ID (PK가되어야 함)가 없으면 업데이트 할 행을 알 수있는 방법이 없습니다.

1

당신은 항상 내가 타사 데이터베이스를 사용하는 경우

0

myTable.Select("myColumn Like 'unique value'"); 내가 같은 문제를 가지고 사용하여 행을 찾을 수 있습니다. 데이터베이스에는 기본 키가 없지만 고유 한 필드의 조합이 있습니다.

먼저 데이터 테이블을 만들고 고유 조건을 사용하여 쿼리 결과를 채 웁니다.

DataTable dt = new DataTable(); 
OleDbDataAdapter adapter = new OleDbDataAdapter(); 
adapter.SelectCommand = new OleDbCommand(sqlstring, ACCESS_dbConnection); 
adapter.Fill(dt); 

둘째, ds를 업데이트 된 데이터로 바꾸십시오.

foreach (DataColumn col in datarow.Columns) 
{ 
    Debug.WriteLine(col.ColumnName); 
    ds.Rows[0][col.ColumnName] = datarow.Rows[0][col.ColumnName]; 
} 

그런 다음 업데이트 할 수 있습니다.

OleDbCommandBuilder cb = new OleDbCommandBuilder(adapter); 
adapter.UpdateCommand = cb.GetUpdateCommand(); 
adapter.InsertCommand = cb.GetInsertCommand(); 
adapter.Update(ds); 

이것은 저에게 효과적입니다.

오직 하나의 쿼리 데이터에 하나만 있다고 확신 할 때만하십시오. 그렇지 않은 경우 "if"체크를 추가 할 수 있습니다.