안녕하세요~~
예전에 아래에 대한 코드 해석을 부탁드렸었습니다..
이 코드를 보고 제가 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'
부탁드리겠씁니다..ㅠㅠ