Q&A

  • select문에서요...이상해서 왕초보...쩝...왜이러지..
table 즉 h7lab302에서 workarea,accdt,accseq,testcd,vfydt,이외에도 15개필드가 있는데 여기서 primary는 workarea,accdt,accseq,testcd로 잡혀있습니다. 그런데

   with basesql do begin
        sql.Clear;
        sql.Add('select workarea,accdt,accseq,testcd,vfydt from h7lab302');
        sql.Add('where testcd = '+'''B101'''+' and accdt = '+'''20041203''');
        open;
        with dg2 do begin
          while (not eof) do
          begin
            cells[0,rowcount-1]:=FieldByname('workarea').Asstring;  <-primary key
            cells[1,rowcount-1]:=FieldByname('accdt').Asstring;  <-primary key
            cells[2,rowcount-1]:=FieldByname('accseq').Asstring;  <-primary key
            cells[3,rowcount-1]:=FieldByname('testcd').Asstring;  <-primary key
            cells[4,rowcount-1]:=FieldByname('vfydt').Asstring;  
            rowcount:=rowcount+1;
            next;
          end;
        end;
   end;

로 하면 왜 먹통이 되죠...?

DB는 SYBASE 입니다.
primary key가 설정되지 않은 다른 필드는 select가 안되나요...다른 디비에서는 되는것 같던데....
sybase에서는 필드를 인위적으로 제한할수 있나요...select가 안되게...?


그런데 vfydt 필드를 빼면 또 되거든요...!

   with basesql do begin
        sql.Clear;
        sql.Add('select workarea,accdt,accseq,testcd from h7lab302');
        sql.Add('where testcd = '+'''B101'''+' and accdt = '+'''20041203''');
        open;
        with dg2 do begin
          while (not eof) do
          begin
            cells[0,rowcount-1]:=FieldByname('workarea').Asstring;
            cells[1,rowcount-1]:=FieldByname('accdt').Asstring;
            cells[2,rowcount-1]:=FieldByname('accseq').Asstring;
            cells[3,rowcount-1]:=FieldByname('testcd').Asstring;
            rowcount:=rowcount+1;
            next;
          end;
        end;
   end;
2  COMMENTS