자꾸 제가 무식한 질문만 해대서... 죄송합니다 ㅡㅜ
왜 있자나요 --;
unit Unit3;
interface
uses
SysUtils, Classes, DB, FMTBcd, DBXpress, SqlExpr, ADODB;
type
TDataModule3 = class(TDataModule)
ADOConnection1: TADOConnection; <-- 이부분
ADOQuery1: TADOQuery; <-- 이부분
private
{ Private declarations }
public
{ Public declarations }
SQL : string;
procedure gProc_AdoConnect();
procedure gProc_AdoDisConnect();
function gFunc_isInteger(pStr:String):Boolean;
end;
var
DataModule3 : TDataModule3;
implementation
{$R *.dfm}
procedure TDataModule3.gProc_AdoConnect();
begin
if ADOConnection1.Connected then
begin
ADOConnection1.Close;
end;
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
'User ID=Admin;' +
'Data Source=.\rice.mdb;' +
'Mode=Share Deny None;' +
'Extended Properties="";' +
'Jet OLEDB:System database="";' +
'Jet OLEDB:Registry Path="";' +
'Jet OLEDB:Database Password="";' +
'Jet OLEDB:Engine Type=5;' +
'Jet OLEDB:Database Locking Mode=1;' +
'Jet OLEDB:Global Partial Bulk Ops=2;' +
'Jet OLEDB:Global Bulk Transactions=1;' +
'Jet OLEDB:New Database Password="";' +
'Jet OLEDB:Create System Database=False;' +
'Jet OLEDB:Encrypt Database=False;' +
'Jet OLEDB:Don''t Copy Locale on Compact=False;' +
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False';
try
ADOConnection1.Open;
except
end;
end;
procedure TDataModule3.gProc_AdoDisConnect();
begin
if ADOConnection1.Connected then
begin
ADOConnection1.Close;
end;
end;
function TDataModule3.gFunc_isInteger(pStr:String):Boolean;
var
StrInt:String;
valInt:Integer;
TEMP_INT:Integer;
begin
valInt := StrToIntDef(pStr,TEMP_INT);
Result := (IntToStr(valInt) = pStr) or (valInt <> TEMP_INT);
end;
end.
옵션에서 이 화일을 자동생성하게 해놓으면.
Application.CreateForm(TDataModule3, DataModule3);
이런 코드가 생성되면 객체가 떠있게 됩니다. (맞져--ㅋ)
여기서 궁금한점이 있습니다.
상위코드나 .dpr 코드에는 ADOConnection 이나..
ADOQuery 객체를 생성한 코드는 없습니다.
제가 이해한것으로는 --;;
대략 has a 관계라고 보여지는데 --ㅋ;;
제가 지금가지 생각없이 하다가 보니까 --ㅋ
ADOConnection1 : TADOConnection;
이란 코드는 TADOConnection 타입의 변수를 선언했다라고만
생각했습니다.
default 접근한정자를 가지는..
그러나 하다보니 -- create 한 곳은 보이지 않고 --;
ADOConnection1. 하면 멤버가 주르륵 나오고 --;;
그래서 ADOConnection1 과 ADOQuery1 변수를
private 와 public 필드에 옮겨놨더니 --;;
오류가 뜨더군요 --;;
EclassNotFound --z 뭐 이런 --;;
너무 주절주절이네요 --;;
궁금한것은
type
TDataModule3 = class(TDataModule)
ADOConnection1: TADOConnection; <-- 이부분
ADOQuery1: TADOQuery; <-- 이부분
private
{ Private declarations }
public
{ Public declarations }
SQL : string;
procedure gProc_AdoConnect();
procedure gProc_AdoDisConnect();
function gFunc_isInteger(pStr:String):Boolean;
end;
이부분에서 ADOConnection1 의 객체는 TDatamodule3 객체가 생성될때
자동생성되는것인가 -- default 접근한정자의 변수선언'만'이 아니고...?
입니다..
죄송합니다 ㅡㅡ;
책에도 어물쩍 넘어간거 같아서 ㅡ_ㅡ;;
너무 궁금해서 --ㅋ
알려주시면 감사하겠습니다.
님이 말씀하신 부분은 아주 특별한 published영역입니다. 그 부분은 폼파일 리소스(.dfm)에 저장되어 폼이 생성될때 자동으로 생성되고 해제될때 같이 해제됩니다.
나머지 영역은 프로그래머가 직접 생성, 해제(해제는 안해주셔도 될 때도 있습니다.)를 해주셔야 합니다.
질문 제목은 질문내용을 요약해서 적어주세요...
http://www.delphi.co.kr/zboard/view.php?id=qanda&page=1&sn1=&divpage=7&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=29528
^^ 항상 즐코하세요...
>자꾸 제가 무식한 질문만 해대서... 죄송합니다 ㅡㅜ
>왜 있자나요 --;
>
>
>unit Unit3;
>
>interface
>
>uses
> SysUtils, Classes, DB, FMTBcd, DBXpress, SqlExpr, ADODB;
>
>type
> TDataModule3 = class(TDataModule)
>
> ADOConnection1: TADOConnection; <-- 이부분
> ADOQuery1: TADOQuery; <-- 이부분
>
> private
> { Private declarations }
> public
> { Public declarations }
> SQL : string;
> procedure gProc_AdoConnect();
> procedure gProc_AdoDisConnect();
>
> function gFunc_isInteger(pStr:String):Boolean;
> end;
>
>var
> DataModule3 : TDataModule3;
>
>implementation
>
>{$R *.dfm}
>
>procedure TDataModule3.gProc_AdoConnect();
>begin
> if ADOConnection1.Connected then
> begin
> ADOConnection1.Close;
> end;
>
> ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' +
> 'User ID=Admin;' +
> 'Data Source=.\rice.mdb;' +
> 'Mode=Share Deny None;' +
> 'Extended Properties="";' +
> 'Jet OLEDB:System database="";' +
> 'Jet OLEDB:Registry Path="";' +
> 'Jet OLEDB:Database Password="";' +
> 'Jet OLEDB:Engine Type=5;' +
> 'Jet OLEDB:Database Locking Mode=1;' +
> 'Jet OLEDB:Global Partial Bulk Ops=2;' +
> 'Jet OLEDB:Global Bulk Transactions=1;' +
> 'Jet OLEDB:New Database Password="";' +
> 'Jet OLEDB:Create System Database=False;' +
> 'Jet OLEDB:Encrypt Database=False;' +
> 'Jet OLEDB:Don''t Copy Locale on Compact=False;' +
> 'Jet OLEDB:Compact Without Replica Repair=False;'+
> 'Jet OLEDB:SFP=False';
> try
> ADOConnection1.Open;
> except
>
> end;
>end;
>
>procedure TDataModule3.gProc_AdoDisConnect();
>begin
> if ADOConnection1.Connected then
> begin
> ADOConnection1.Close;
> end;
>end;
>
>function TDataModule3.gFunc_isInteger(pStr:String):Boolean;
>var
> StrInt:String;
> valInt:Integer;
> TEMP_INT:Integer;
>begin
> valInt := StrToIntDef(pStr,TEMP_INT);
> Result := (IntToStr(valInt) = pStr) or (valInt <> TEMP_INT);
>end;
>
>end.
>
>
>옵션에서 이 화일을 자동생성하게 해놓으면.
>Application.CreateForm(TDataModule3, DataModule3);
>
>이런 코드가 생성되면 객체가 떠있게 됩니다. (맞져--ㅋ)
>여기서 궁금한점이 있습니다.
>
>상위코드나 .dpr 코드에는 ADOConnection 이나..
>ADOQuery 객체를 생성한 코드는 없습니다.
>
>제가 이해한것으로는 --;;
>대략 has a 관계라고 보여지는데 --ㅋ;;
>
>제가 지금가지 생각없이 하다가 보니까 --ㅋ
>
>ADOConnection1 : TADOConnection;
>이란 코드는 TADOConnection 타입의 변수를 선언했다라고만
>생각했습니다.
>
>default 접근한정자를 가지는..
>
>그러나 하다보니 -- create 한 곳은 보이지 않고 --;
>ADOConnection1. 하면 멤버가 주르륵 나오고 --;;
>
>그래서 ADOConnection1 과 ADOQuery1 변수를
>private 와 public 필드에 옮겨놨더니 --;;
>
>오류가 뜨더군요 --;;
>EclassNotFound --z 뭐 이런 --;;
>
>너무 주절주절이네요 --;;
>
>궁금한것은
>
>type
> TDataModule3 = class(TDataModule)
>
> ADOConnection1: TADOConnection; <-- 이부분
> ADOQuery1: TADOQuery; <-- 이부분
>
> private
> { Private declarations }
> public
> { Public declarations }
> SQL : string;
> procedure gProc_AdoConnect();
> procedure gProc_AdoDisConnect();
>
> function gFunc_isInteger(pStr:String):Boolean;
> end;
>
>이부분에서 ADOConnection1 의 객체는 TDatamodule3 객체가 생성될때
>자동생성되는것인가 -- default 접근한정자의 변수선언'만'이 아니고...?
>입니다..
>
>죄송합니다 ㅡㅡ;
>책에도 어물쩍 넘어간거 같아서 ㅡ_ㅡ;;
>너무 궁금해서 --ㅋ
>
>알려주시면 감사하겠습니다.
>
>
>
>
>
>
>