안녕하세여 헤임달입니다...
데이터타입이 불린형인것들은 검색을 어떻게 해야할지 모르겠네요..
with Query2 do begin
Close;
SQL.Clear;
SQL.Add( 'SELECT Lot_num, Device, Sampling, Probing' );
SQL.Add( 'FROM "input.DB" ');
SQL.Add( 'WHERE 일자 = :ToDay and Sampling = :sam or Probing=:pro' );
Prepare;
ParamByName('ToDay').AsDate := datetimepicker1.date;
ParamByName('sam').asboolean := true;
Parambyname('pro').asboolean := true;
Open;
FetchAll;
end;
이렇게 했더니만 일자에 해당되는 날짜의 데이터가 모두 나와버리더라구여..
이렇게해주는거 아닌가여?ㅠㅠ
해당 날짜에 sampling하고 probing중 둘중 하나만 true인것을 찾고싶은데..
도와주세여..
> 안녕하세여 헤임달입니다...
>
> 데이터타입이 불린형인것들은 검색을 어떻게 해야할지 모르겠네요..
>
> with Query2 do begin
> Close;
> SQL.Clear;
> SQL.Add( 'SELECT Lot_num, Device, Sampling, Probing' );
> SQL.Add( 'FROM "input.DB" ');
> SQL.Add( 'WHERE 일자 = :ToDay and Sampling = :sam or Probing=:pro' );
> Prepare;
> ParamByName('ToDay').AsDate := datetimepicker1.date;
> ParamByName('sam').asboolean := true;
> Parambyname('pro').asboolean := true;
> Open;
> FetchAll;
> end;
> 이렇게 했더니만 일자에 해당되는 날짜의 데이터가 모두 나와버리더라구여..
> 이렇게해주는거 아닌가여?ㅠㅠ
> 해당 날짜에 sampling하고 probing중 둘중 하나만 true인것을 찾고싶은데..
> 도와주세여..
>
>
안녕하세요. 까마귀입니다.
SQL.Add( 'WHERE 일자 = :ToDay and Sampling = :sam or Probing=:pro' );
여기서 원래의 목적은 날짜가 오늘이고 sampling이나 probing이 true인것 이지요?
그런데, 위 문장은 어떻게 해석이 되냐하면 (날짜가 오늘이고 sampling이 true) 이거나
(probing이 true)인것입니다.
원하는 대로 하시려면 이렇게 해야 합니다.
SQL.Add('Where 일자 =:ToDay and (Sampling =:san or Probing =:pro)');
해석은 (날짜가 오늘)이고, (sampling이 ture이거나 probing이 true인것) 입니다.
이렇게 해보세요.
그런데, 무조건 true여야 된다면 param을 않주고 바로 true하면 않되나요?
위대한 단군혼이 살아있는 나라.... 대한민국.