Q&A

  • TABLE없이 DBGRID의 특정 위치값 가져오기
안녕하세요



QUERY컴포넌트를 이용하여 DBGRID에 데이타베이스의 값을 가져 왔습니다.



그런데 DBGRID에는 컬럼속성이 없어서 맨 윗줄밖에 못 읽는군요. 검색이 안돼요.



어떻게 해야 전체를 읽고 검색을 해서 원하는 필드의 값을 읽어올수 있을까요?



(단, TABLE컴포넌트를 이용하지 않고서)



3  COMMENTS
  • Profile
    호수영 2000.01.04 03:50
    조민호 wrote:

    > 안녕하세요

    >

    > QUERY컴포넌트를 이용하여 DBGRID에 데이타베이스의 값을 가져 왔습니다.

    >

    > 그런데 DBGRID에는 컬럼속성이 없어서 맨 윗줄밖에 못 읽는군요. 검색이 안돼요.

    >

    > 어떻게 해야 전체를 읽고 검색을 해서 원하는 필드의 값을 읽어올수 있을까요?

    >

    > (단, TABLE컴포넌트를 이용하지 않고서)

    >





    다음은 변수 a1,a2에 대응되는 레코드로 이동하는 예입니다.



    Query1.Locate('Field1;Field2;', VarArrayOf([a1, a2]), [loPartialKey]);





    Return 값은 boolean 형.



    EX) if Query1.Locate('Field1;Field2;', VarArrayOf([a1, a2]), [loPartialKey]) then

    begin

    // 레코드를 찾았을 경우..

    end

    else begin

    // 레코드를 찾지 못했을 경우..

    end;



    그럼 수고하세요..^^

  • Profile
    조민호 2000.01.04 19:00
    호수영 wrote:

    > EX) if Query1.Locate('Field1;Field2;', VarArrayOf([a1, a2]), [loPartialKey]) then

    > begin

    > // 레코드를 찾았을 경우..

    > end

    > else begin

    > // 레코드를 찾지 못했을 경우..

    > end;



    여기서 레코드를 찾았을 경우를 구체적으로 알려 주실수 있으세요?



    제가 워낙에 초보라서...



    답변 너무 너무 감사합니다.

  • Profile
    하얀까마귀 2000.01.21 05:19
    조민호 wrote:

    > 호수영 wrote:

    > > EX) if Query1.Locate('Field1;Field2;', VarArrayOf([a1, a2]), [loPartialKey]) then

    > > begin

    > > // 레코드를 찾았을 경우..

    > > end

    > > else begin

    > > // 레코드를 찾지 못했을 경우..

    > > end;

    >

    > 여기서 레코드를 찾았을 경우를 구체적으로 알려 주실수 있으세요?

    >

    > 제가 워낙에 초보라서...

    >

    > 답변 너무 너무 감사합니다.



    여기서 데이타를 찾게되면 query1의 위치가 찾은 데이타로 이동하게 됩니다.

    당연히 그리드에서 선택된 레코드 또한 이동하겠죠?

    그러니까 현재 레코드를 읽으면 그게 찾은 레코드가 되는거죠...

    찾지 못했을 경우에는 그냥 못했으니까. 그대로죠 뭐...