2009-11-10 4 views
0

이 조금 어색할지 모르지만 OLE DB를 사용하여 C#의 MS Access 데이터베이스에서 특정 열의 순서를 수정하려고합니다. 어떻게하면 데이터 셋의 데이터 테이블 열 순서로 특정 변경을 수행 할 수 있습니까? 그렇게 할 수 없다면 어떻게 데이터 셋을 사용하여 데이터베이스 테이블의 열을 재정렬 할 수 있습니까? 나는 단지 데이터 행의 변화를 저지른 생각부터해야 할 것C# OLE DB : 데이터 집합을 사용하여 데이터베이스 테이블의 열을 재정렬하려면 어떻게해야합니까?

command.Connection = conn; 
command.CommandText = tableName; 
command.CommandType = CommandType.TableDirect; 
adapter = new OleDbDataAdapter(command); 
dataset = new DataSet(tableName); 
adapter.Fill(dataset, tableName); 
dataset.Tables[0].Columns[dataset.Tables[0].Columns.Count-1].SetOrdinal(CB_PositionCol.SelectedIndex); 
dataset.Tables[0].AcceptChanges(); 

이 AcceptChanges가이 ... 작동하는

을하지 않는 것 : 여기

내가 (C#에서) 무슨의 샘플입니다

도움 주셔서 감사합니다.

답변

1

OleDbCommand와 함께 ALTER TABLE 문을 사용하십시오. DataSet, DataTable 및 DataTableAdapter는 데이터의 기본 구조에 투명하도록 만들어졌습니다. 실제로 테이블 어댑터를 사용하여 두 개의 다른 구조에서 데이터를 변환 할 수 있습니다.

http://www.functionx.com/vbnet/oledb/Lesson02.htm

+0

그래서 기본적으로 나는 마지막 열을 삽입하고 내가 제거 것들에 대한 새 열을 추가 할 위치에서 모든 열을 삭제해야? – Partial

+0

아쉽게도 새 테이블을 만들 수 있습니다. 데이터를 전송하고 이전 테이블을 삭제하고 새 테이블을 이전 테이블 이름으로 변경 한 다음 압축/복구 ... 재미 있지만 작동합니다. 왜 사용자가 열을 재정렬해야하는가? (사용자 인터페이스에서 열을 재정렬 할 때 "투명하게"발생하는 일은 거의 없습니다.) –

+0

열을 특정 방식으로 보려면 SELECT 문, DataView에서 순서를 변경하거나 UI에서 열 순서 변경을 허용하십시오. –