procedure Tf_ipkumw1.BitBtn4Click(Sender: TObject);
var i,j : integer;
begin
Str := '';
Str := ' SELECT code, cust_name FROM ACCCUSTTC ' +
' WHERE substr(code,1,1) = ''G'' ';
RS := CreateOleObject('ADODB.Recordset');
RS.Open(Str, Con, adOpenDynamic);
If RS.EOF then
begin
showmessage ('자료가 없습니다.');
RS.Close;
end
ELSE
sg_buseo.RowCount := RS.RecordCount;
For i := 1 To RS.RecordCount do
begin
sg_buseo.RowHeights[i] := 20;
sg_buseo.cells[0,i] := RS.Fields[0];
sg_buseo.cells[1,i] := RS.Fields[1];
// i := i + 1;
RS.MoveNext;
end;
Next;
end;
여기서 sg_buseo는 스트링 그리드입니다.
어디가 어떻게 틀린건지 도저히 원래 이런 문법은 없는건가요?
아니면 어떻게 해야 하나요?
DB에서 자료를 읽어와서 스트링 그리드에 display하는 프로시저입니다.
너무너무 급합니다. 부디 가르쳐주십시오..
델파이에서는
Query라는 컴포넌트가 있습니다.
그 컴포넌트에 SQL을 넣으시고 OPEN을 하세요
그리고 MOVENEXT가 아니라 NEXT입니다.
박원진 wrote:
> procedure Tf_ipkumw1.BitBtn4Click(Sender: TObject);
> var i,j : integer;
>
> begin
>
> Str := '';
> Str := ' SELECT code, cust_name FROM ACCCUSTTC ' +
> ' WHERE substr(code,1,1) = ''G'' ';
>
> RS := CreateOleObject('ADODB.Recordset');
> RS.Open(Str, Con, adOpenDynamic);
>
> If RS.EOF then
> begin
> showmessage ('자료가 없습니다.');
> RS.Close;
> end
> ELSE
> sg_buseo.RowCount := RS.RecordCount;
> For i := 1 To RS.RecordCount do
> begin
> sg_buseo.RowHeights[i] := 20;
> sg_buseo.cells[0,i] := RS.Fields[0];
> sg_buseo.cells[1,i] := RS.Fields[1];
> // i := i + 1;
> RS.MoveNext;
> end;
> Next;
> end;
>
>
> 여기서 sg_buseo는 스트링 그리드입니다.
> 어디가 어떻게 틀린건지 도저히 원래 이런 문법은 없는건가요?
> 아니면 어떻게 해야 하나요?
>
> DB에서 자료를 읽어와서 스트링 그리드에 display하는 프로시저입니다.
>
> 너무너무 급합니다. 부디 가르쳐주십시오..