1.일단 화면과 DB연결이라는 말은 좀 어색한 것 같습니다.
말씀하신 '화면과 DB연결이 되어있다'라는 말이 '프로그램 내부적으로 프로그램과 DB가 연동되어 있다'라고 정정되야 함이 맞을겁니다.
즉, 올리신 스크린샷 화면에서 보이는 컴포넌트들은 그 자체로 DB를 화면에 뿌려주는 역할이 아니라 프로그램 내부적으로 DB와 연결해주는 역할을 하는 것이죠. DB내용을 화면에 디스플레이하려면 TDBGrid 와 같은 DB그리드 컴포넌트가 있어야합니다.
그리고 스크린샷 화면을 봐도 하시고자 하는 바를 정확히 모르겠습니다.
사원번호와 사원이름을 사용자가 입력한 후, 확인 버튼을 누르면 DB에서 무언가를 가지고 오고 싶으신 건가요?
그 무언가를 표시할 DB그리드나 최소 라벨, 에디트창같은 게 없는데 어떻게 표시를 하신다는 말씀인지 이해가 잘 안되네요...
만약 사용자가 입력한 '사원번호'와 '사원이름'에 해당하는 '나이'라는 필드를 가져오고 싶으시면 아래와 같이 쿼리를 넣으시면 될 것 같네요(제가 사용하는 방식입니다).
저도 공부하는 입장이라 대충 휘갈겨봅니다..! 더욱 자세한 도움은 다른 고수 분들이..!
====================================================================================
Procedure TFMain.btnConfirmClick(Sender: TObject);
var
ADOTemp : TADOQuery;
sWCode, sWName : String;
nWAge : Integer;
begin
sWCode := edtWCode.Text;
sWName := edtWName.Text;
ADOTemp := TADOQuery.Create( Self );
try
ADOTemp.Close;
ADOTemp.ConnectionString := ADO1.ConnectionString;
// 위 문장에서 ADO1는 미리 만들어놓으신 컴포넌트 명이 되겠죠. 물론 커넥션스트링도 미리 설정되어있어야 겠구요.
ADOTemp.Close;
ADOTemp.SQL.Clear;
ADOTemp.SQL.Add( 'SELECT 나이 FROM 테이블명WHERE ( 사원번호=:WCode ) AND ( 사원이름=:WName )' );
ADOTemp.Parameters.ParamByName( 'WCode ' ).Value := sWCode ;
ADOTemp.Parameters.ParamByName( 'WName ' ).Value := sWName ;
ADOTemp.Open;
nWAge := ADOTemp.Fields[0].AsInteger;
lblAge.Caption := nWAge;
finally
ADOTemp.Free;
end;
end;
// 손코딩이고 실제 돌려보진 않아서 에러가 발생할 수는 있습니다.
====================================================================================
안녕하세요 님이 쓰신 글 :
: 그림 파일을 올렸습니다 가능하시다면 사진을 봐주셨으면 합니다ㅠㅠ..
:
: 사진을 보시게되면 ado connection 과 ado query 문을 이용해서 화면에 db와 연결을 했습니다,
:
: 이상태 라면, 보는 화면이 db에 연결되어있고, 텍스트 박스에서는 db로부터 값을 읽어오기만 하면 될거같은데 작업을 하질 못하고있습니다...
:
: 여기저기 들쑤셔 다니다 보니 parambyname 함수를 이용 해서 텍스트박스에 쿼리문을 연결 하면 된다고 하는데 함수 자체가 빨간줄(에러)가 잡히더라구요.. 이녀석도 디자인에서 버튼 선언하듯이 type에 선언을 해주고 사용해야되는것인지요?
|