안녕하세요..
델파이 초보입니다.. 아래에 2개의 구문이 있는데요 각각이 무엇을 뜻하는 내용인지 알고 싶습니다..
1) 이 구문안에서 sql문이 무엇을 뜻하는지..
테이블 명을 stringreplace를 이용해서 치환했다고 하는데...
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.ParamByName('TableName').As String:= 'STEmployee';
// Query1.ParamByName('DivSN').As String:= Edit1.Text;
Query1.Open;
end;
end.
2) 테이블의 첫번째와 다음을 나열 메모에 나열한듯...
procedure TForm1.Button1Click(Sender:TObject);
begin
Table2.DisableControls;
Try
Table2.First;
While Table2.Eof = False do Begin
Memo1.Lines.Add(
Table2.FieldByName('EmpSN').AsString +', '+
Table2.Fields[1].AsString +', '+
Table2['EmpName']
);
Table2.Next;
End;
Finally
Table2.EnableControls;
End;
end;
end.
전체적으로 1)과 2)가 뜻하는 내용이 무엇인지 알고 싶습니다.. 도와주세요..ㅠ
저기서는 sql문안에 @tablename 이라고 넣어놓고 코딩으로 동적으로 바꿀수 있도록 한거죠..
2) 맞습니다. 쿼리의 커서를 처음으로 옮기고 아래로 주욱끝까지 읽으면서 메모에 추가한거네요..
Table2.DisableControls;
이문장은 table2와 연결된 컨트롤(컴포넌트)과의 연결을 끊습니다. 디비그리드와 연결 됐다고 치면
Table2의 커서를 옮겨도 디비그리드에는 반영이 안됩니다. 이런 연결들이 많을경우에는
처리속도도 떨어지기