Q&A

  • 디비필드의 공백 체크
음.. 예를 들어 물건이 같은 것이 100개 있다고 했을때...(제조번호는 다르겠져)



그 제조번호는 미리 만들어져 있고여... 필요에 따라서 제품이 출하될때..



그 제조번호 옆에다 무슨 무슨 회사가 샀다는 표시를 해주려 합니다..



근데... 사용자가 여기저기 제조번호를 쓴다면(순서대로 쓰지 않고)



사용하지 않은 제조번호를 디비그리드 맨 위부터 보여 줘야 하는데...



그게 잘 되지 않네여..



table1.first;

while not table1.eof do

begin

chong := chong + 1;

if (table1.FieldByName('name').asString = nil) then

nonusejejo := nonusejejo +1;

table1.next;

end;



위코딩처럼 몇개가 사용중이 아닌지도 체크해주려 합니다..



근데 위에도 체크가 안되네여..



어떻게 써야 할까여?



1  COMMENTS
  • Profile
    성호종 2000.07.15 02:47
    류응철 wrote:

    > 음.. 예를 들어 물건이 같은 것이 100개 있다고 했을때...(제조번호는 다르겠져)

    >

    > 그 제조번호는 미리 만들어져 있고여... 필요에 따라서 제품이 출하될때..

    >

    > 그 제조번호 옆에다 무슨 무슨 회사가 샀다는 표시를 해주려 합니다..

    >

    > 근데... 사용자가 여기저기 제조번호를 쓴다면(순서대로 쓰지 않고)

    >

    > 사용하지 않은 제조번호를 디비그리드 맨 위부터 보여 줘야 하는데...

    >

    > 그게 잘 되지 않네여..

    >

    > table1.first;

    > while not table1.eof do

    > begin

    > chong := chong + 1;

    > if (table1.FieldByName('name').asString = nil) then

    > nonusejejo := nonusejejo +1;

    > table1.next;

    > end;

    >

    > 위코딩처럼 몇개가 사용중이 아닌지도 체크해주려 합니다..

    >

    > 근데 위에도 체크가 안되네여..

    >

    > 어떻게 써야 할까여?

    >



    table말고 query를 쓰셔야 겠네요.



    ---------------------------------

    select 1, field_a, field_b, name

    from table1

    where name is null

    union all

    select 2, field_a, field_b, name

    from table1

    where name is not null

    union all

    select count(*), '99','99', '99' <-- field_a, field_b가 문자field일경우

    from table1

    where name is null

    group by 1,2,3,4

    order by 1

    ---------------------------------

    이렇게 하시면 이름이 널인 row가 가장 먼저 나오고 그다음부터 있는 row

    마지막으로 이름이 사용되지 않은 row의 갯수가 나오지요~^^