procedure TFDATA0102.BtnFindClick(Sender: TObject);
var
i : integer;
iano,ihsno : String;
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select Hno,Hsno From "Hunh2000.db","Addr2000.db"');
Query1.SQL.Add('where (((Aname =:iname)and(Agu =:igu))and(ano=hno))');
Query1.ParamByName('iname').AsString :=EditName.Text;
if Query1.RecordCount >= 1 then
begin
Query1.First;
for i := 1 to Query1.RecordCount+1 do
begin
iano := Query1.FieldByName('Hno').AsString;//에러 부분
ihsno := Query1.fieldByName('hsno').Asstring;
StringGrid1.Cells [0,i] := iano;
StringGrid1.Cells [1,i] := ihsno;
Btnfind.Caption := iano;
Query1.Next ;
| Query1.close;
| Query1.Sql.Clear;
| Query1.SQL.Add('Select ano,Agu ,Aname From "Addr2000.db"');
| Query1.SQL.Add('where ano = :iddano');
| Query1.ParamByName('iddano').AsString := BtnFind.caption;
| Query1.Open;
// | 한부분이 없으면 돼는데 쿼리를 다시하게돼니 위에 hno 를 찾을수가 없다고 해요
end;
end
else
Application.MessageBox('해당 데이타가 없습니다','NOT DATA',MB_OK);
end;
> procedure TFDATA0102.BtnFindClick(Sender: TObject);
> var
> i : integer;
> iano,ihsno : String;
> begin
> Query1.Close;
> Query1.SQL.Clear;
> Query1.SQL.Add('Select Hno,Hsno From "Hunh2000.db","Addr2000.db"');
> Query1.SQL.Add('where (((Aname =:iname)and(Agu =:igu))and(ano=hno))');
> Query1.ParamByName('iname').AsString :=EditName.Text;
>
> if Query1.RecordCount >= 1 then
> begin
> Query1.First;
> for i := 1 to Query1.RecordCount+1 do
> begin
> iano := Query1.FieldByName('Hno').AsString;//에러 부분
> ihsno := Query1.fieldByName('hsno').Asstring;
> StringGrid1.Cells [0,i] := iano;
> StringGrid1.Cells [1,i] := ihsno;
> Btnfind.Caption := iano;
> Query1.Next ;
>
>
> | Query1.close;
> | Query1.Sql.Clear;
> | Query1.SQL.Add('Select ano,Agu ,Aname From "Addr2000.db"');
> | Query1.SQL.Add('where ano = :iddano');
> | Query1.ParamByName('iddano').AsString := BtnFind.caption;
> | Query1.Open;
>
> // | 한부분이 없으면 돼는데 쿼리를 다시하게돼니 위에 hno 를 찾을수가 없다고 해요
> end;
> end
> else
> Application.MessageBox('해당 데이타가 없습니다','NOT DATA',MB_OK);
>
> end;
>
질문의 내용이 좀 헥깔리네여..
// |한부분을 빼고 하면 되는데 다시 추가하면 않된다는 말씀이신져?
만약 추가하구 않되는거라면
맨위에 qury1 에 sql문을 넣어놓고나서 open시키고..(Qury1.open 도 빠졌네여)
레코드수만큼 루핑을 돌리게되는데 qury1 을 루핑 내에서 다시 클리어시키고
다른 sql문을 넣었기때문에 두번째로 루핑을 돌때
Query1.FieldByName('Hno').AsString; 이란 이름을 가진 파라미터가 없기때문입니다..(새로운 쿼리문을 집어넣었으니깐.)
근데.. 이질문 만낭??