Q&A

  • 코드 좀 봐주세요...
안녕하세요~~

예전에 아래에 대한 코드 해석을 부탁드렸었습니다..

이 코드를 보고 제가 sql 테이블 조회를 해야 하는데요.. 도와주십사하고 글 남깁니다..

procedure TForm1.Button1Click(Sender:TObject);
begin
Query1.Close;
Query1.SQL.Text:=
   ' Select * From @TableName '+
   '   Where DivSN = @DivSN ';
Query1.SQL.Text:= StringReplace(Query1.SQL.Text, '@TableName', 'STEmployee', []);
Query1.SQL.Text:= StringReplace(Query1.SQL.Text, '@DivSN', Edit1.Text, []);

Query1.Open;
end;

end.

여기서 보면 '@DivSN', 'Edit1.Text, 이 부분이 이해가 가지 않습니다..

위 구문의 결과를 SQL 문으로 보면

select *
from STEmployee
where DivSN=Edit.Text 이거잖아요...

select *
from 테이블명
where DivSN이 Edit.Text 인 것을 찾아라...... 맞나요??

Edit.Text 가 무엇을 뜻하는지 도통 모르겠습니다..ㅠㅠ


제가 이 예제를 보고 sql localserver 연결후 시도하는데 에러가 납니다.ㅠ.ㅠ

SQL localserver

engene이라는 db안에 data라는 테이블이 있습니다..
그안에 Attribute라는 컬럼이 있고요....

engene.db    --  data 테이블

abc       def       Attribute
-------------------------------
aaa       bbb       CRS
ccc         ddd        fffff

procedure Tengeneform.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Text:='select * from @tablename' +
                 'where Attribute = @Attribute';
  Query1.SQL.Text:=StringReplace(Query1.SQL.Text,'@tablename', 'data', [];)
  Query1.SQL.Text:=StringReplace(Query1.SQL.Text,'@Attribute', 'CRS', [];)
  Query1.Open;

end;

----------------------- 에러 ----------------

[Error] engene.pas(44): ')' expected but ';' found
[Error] engene.pas(45): ')' expected but ';' found
[Fatal Error] engenepro.dpr(5): Could not compile used unit 'engene.pas'


부탁드리겠씁니다..ㅠㅠ
10  COMMENTS