..하나가지고 몇일을 끄는건지 모르겟네요... 델마당과 델파이포럼 두개를 왔다갔다하면서 이것저것 배우고있는데..
잘모르겟습니다... 응용이라고해야될까요 책을 읽어서 이론을 습득했고 실습을 했지만.. 아무래도 제가 하는거랑은 좀 다른거같아서 그런지 써먹질 못하겟네요...
소스전문과 제가 주석을 단것, 이미지스크린샷 두장을 같이 올리겠습니다..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB;
type
TForm1 = class(TForm)
DSrcGICS: TDataSource;
AdoQryGICS: TADOQuery;
CnnSV: TADOConnection;
Wcode: TEdit;
Button1: TButton;
WName: TEdit;
AdoQryGICSpid: TStringField;
AdoQryGICSkor_name: TStringField;
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure WcodeKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
ADOQry : TADOQuery;
SSQL : string; //여기까지 선언부, 두개의 에디트박스와 한개의 버튼,
//ADO Conectio, query, source 등으로 구성되어있습니다
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender:TObject);
var
ADOTemp : TADOQuery;
sWCode, sWName : String;
MyClass: TComponent;
begin
while not AdoQryGICS.Eof do begin
ADOTemp := TADOQuery.Create(Self);
AdoQryGICS.Next; //adoquery.next입니다, next가 한 row씩
//검사해나가면서 해당되는 값을 찾아
//나간다는 것으로만 알고있는데 코딩을 제대로한건질 // 모르겟네요
try
ADOTemp.close;
ADOTemp.ConnectionString := AdoQryGICS.ConnectionString; //connectionstring이 연결된 문자열을 받는건
//알겠는데.. 초기화를 목적으로하는건가요?
ADOTemp.SQL.Clear; //초기화
ADOTemp.SQL.ADD('SELECT PID,kor_name FROM 회사.db where kor_name=:kor_name'); //쿼리문이 틀린건가요...
ADOTemp.Parameters.ParamByName('kor_name').Value := Wcode.Text; // <---------------------- error
ADOTemp.Open;
finally
ADOTemp.Free;
end;
//TDBedit -data source -data field 를 사용하면 바로 해결...?
end;
end;
// 재미로 넣어봣습니다 신경쓰지않으셔도됩니다
procedure TForm1.WcodeKeyPress(Sender: TObject; var Key: Char);
begin
// 숫자만 입력 가능하게함,
if (Key in ['0'..'9']) or (Key = #8) then //#8 = bs, BackSpace
else
Key := #0; //#0 = null을 의미
end;
procedure TForm1.FormShow(Sender: TObject);
begin
CnnSV.Connected := True; //TADO Conecction 을 연결했을시 실행되게,
AdoQryGICS.Active := True; //ADO Query 연결시 실행
end;
end.
//개요
// EDIT 1에 번호를 입력하면, EDIT2에 사람 이름이 뜨게 한다.
// SQL문은 (회사db) 로부터 가져온다,
//예시 회원번호는 2830, 사원이름은 최재영, 따라서 EDIT1에 2830을 입력하고 확인을 누르면 EDIT2에 (익명)이 뜬다
// 경과
// tadoConnection 에 db를 연동시킨뒤, query를 통해 데이터를 연결, source를 통해 뿌려준다 (0)
//현재 두번째사진, kor_name 이라는 값이 없다고 나오는 지점까지갔습니다, 의아한것은 데이터베이스에 kor_name 이라는 컬럼이없는것도아니고, 델파이에서 db 연결을 잘못한것도 아닙니다, 쿼리문도 틀리지않았다고 생각하는데... 뭐가 문제인지 파악하기가 힘드네요
|