|
강재호 님이 쓰신 글 :
:
: ShowMessage("Select * from " + CbBox1->Text + " ORDER BY " + Column->Field->FieldName );
: Query1->Active = false;
: Table->Active = false;
: WorksGrid->DataSource = DataSource2;
: Query1->SQL->Clear();
: Query1->SQL->BeginUpdate();
: Query1->SQL->Add
: ("Select * from " + CbBox1->Text + " ORDER BY " + Column->Field->FieldName );
: Query1->SQL->EndUpdate();
: Query1->ExecSQL();
:
: WorksGrid->Columns->RestoreDefaults();
: Column->Title->Font->Color = clBlue;
:
: 위의 소스는 DBGrid에서 Title을 클릭 했을때 그 타이틀이 있는 컬럼으로 정렬하는 소스입니다.
:
: 그런데 Query1->SQL->Add 구문에서 자꾸 엑세스 바이올레이션 에러가 납니다.
:
: 제가 보기엔 별 문제 없는데 왜 에러가 나는 건지 모르겠네요
:
: 그리고 따로 질문 하나더
:
: DbGrid로 DataBase를 경우해서 자료를 전송해 주는데
:
: 현재까지 전송된 자료가 몇건이고, 전체 자료가 몇건인지 알아 낼수 있는 방법 없는지요?
:
: 그러니깐 Table에서 DbGrid로 연결되면
:
: 자료가 많을경우 좀 걸리지 않습니까
:
: 그럴때 현재 몇건의 자료를 읽었고 몇건 남았다 또는 몇 프로 읽었다고
:
: 보여줄수 있으면 합니다.
:
: 이에 대한 고수님의 의견 바랍니다.
임펠리테리입니다.
TQuery의 SQL 프로퍼티에는 BeginUpdate(), EndUpdate() 메소드를 사용하지 않습니다. 이들 메소드는 메모 등의 컨트롤에서 삽입할 라인이 아주 많을 경우 그 도중에는 디스플레이를 하지 않도록 강제하여 라인삽입 속도를 올려주기 위해 사용하는 것입니다. 아마 이것때문에 억세스바이얼레이션이 뜨는 것 같군요.
그럼 참고하시길...
|