인터베이스+델6+윈98에서 플그램을 짜고 있슴다.
procedure TForm1.FindMember;
begin
with FrmTable.QyWork do begin
Close;
sql.Clear;
sql.Add('select * from tbmember');
sql.Add('where (card_no like :p1) or (mb_name like :p2)');
sql.Add('or (tel_no like :p1) or (pcs_no like :p1)');
ParamByName('p1').AsString:= '%'+Edit1.Text;
ParamByName('p2').AsString:= '%'+Edit1.Text+'%';
Open;
case RecordCount of
0: ShowMessag('회원이 없어요~');
1: //
else
//
end;
end;
end;
procedure TForm1.Edit1KeyPress(var Key: char);
begin
if Key=#13 then begin
Key:= #0;
FindMember;
end;
end;
위의 쿼리만 수행하면 스택오버플로어 에러가 납니다. 밑의 레코드카운트 부분이랑은 전혀 관계가 없구요. 에디트박스쪽에도 문제가 없는데....T.T
별 희한한 증상은 보네요. 아시는 분 도움 좀 주세요.
안녕하세요.
저두 똑같은 증상을 겪었습니다.
제가 파악한 바로는 필드타입이 char로 되어 있기 때문에 일어나더군요.
char타입을 varchar로 변경하셔야 합니다.
아마두 도메인을 사용하지 않으셨다면 필드타입 바꾸시는데 시간이 걸릴 수도 있을겁니다.