Q&A

  • 급해요...함 봐주세요....
ADO 테스트중인데요...

폼에 ADOconnect과 무엇을 써서 연결해야

insert나 update같은 SQL문을 잘 쓸 수 있을지...

그리고 그 결과를 스트링그리드에 보여줄라구 하는데요.....

이게 맞는지 함 봐주세요..



ADOquery를 썼을 경우예요..



procedure TQuerytest.Button1Click(Sender: TObject);

var

i: integer;

begin

count := 1;

count := count+1;

for i:=1 to count-1 do



with ADOQuery1 do

begin

close;

SQL.Clear;

SQL.Add('Insert Into joins');

SQL.Add('(j_i, j_n, j_d, j_e, j_p, j_t, j_c, j_m)');

SQL.Add('Values');

SQL.Add('( :pi, :pn, :pd, :pe, :pp, :pt, :pc, :pm)');



Parameters.ParamValues['pi'] := Trim(Edit1.Text);

Parameters.ParamValues['pn'] := Trim(Edit2.Text);

Parameters.ParamValues['pd'] := Trim(Edit3.Text);

Parameters.ParamValues['pe'] := Trim(Edit4.Text);

Parameters.ParamValues['pp'] := Trim(Edit5.Text);

Parameters.ParamValues['pt'] := Trim(Edit6.Text);

Parameters.ParamValues['pc'] := Trim(Edit7.Text);

Parameters.ParamValues['pm'] := Trim(Edit8.Text);



execute;

end



StringGrid.Cells[0,i] := Fieldbyname('j_i');

..

..

..

..

..

end;



이런 식이거든요...

근데 잘 안되여...

왕초보라 ....

좀 봐주시구 답변 좀 해주세요....



2  COMMENTS
  • Profile
    hugehead 2000.07.15 07:04
    안녕하세요, 몇가지 짚어보죠.



    일단 지금 코드에서 실행하는 SQL문은 insert 문이니까 결과값이 없습니다.

    따라서 ADOQuery1.Execute를 실행하면 잘 되리라 믿지만, 밑에서 FieldByName을 이용해서 값을 참조할 때 에러가 나겠지요.



    Insert문은 결과값이 없으니깐 FieldbyName을 참조할 껀덕지가 없다는 거지요.

    (delete, update도 마찬가지입니다.)



    따라서 루프를 돌면서 Insert가 된다면 (DB를 직접 체크해 보세요), 그 후에,

    SELECT j_i, j_n .... from joins where ... 이런식으로 보여주고 싶은 것을 다시 불러와야 합니다.



    물론, Stringgrid 에다가 Insert 문에 쓰인 Parameter 값이나 또는 Edit.text 값들을 보여 줄 수도 있지만, 이건 DB 내용을 보여주는 것이 아니라 좀 어색하죠.



    즉,

    1. Insert 문을 실행한다

    2. 에러 없이 성공하면 Select 문을 실행한다.



    이러한 논리적 흐름이 있어야 합니다.



    Insert 할때에는 ADOCommand를 사용하는 것이 일반적이고(ADOQuery1 을 이용해도 됩니다),Select는 물론 ADOQuery를 이용해야 겠지요. (실행시킬 때에는 ADOQuery1.Open을 해야하고요)



    델초보 wrote:

    > ADO 테스트중인데요...

    > 폼에 ADOconnect과 무엇을 써서 연결해야

    > insert나 update같은 SQL문을 잘 쓸 수 있을지...

    > 그리고 그 결과를 스트링그리드에 보여줄라구 하는데요.....

    > 이게 맞는지 함 봐주세요..

    >

    > ADOquery를 썼을 경우예요..

    >

    > procedure TQuerytest.Button1Click(Sender: TObject);

    > var

    > i: integer;

    > begin

    > count := 1;

    > count := count+1;

    > for i:=1 to count-1 do

    >

    > with ADOQuery1 do

    > begin

    > close;

    > SQL.Clear;

    > SQL.Add('Insert Into joins');

    > SQL.Add('(j_i, j_n, j_d, j_e, j_p, j_t, j_c, j_m)');

    > SQL.Add('Values');

    > SQL.Add('( :pi, :pn, :pd, :pe, :pp, :pt, :pc, :pm)');

    >

    > Parameters.ParamValues['pi'] := Trim(Edit1.Text);

    > Parameters.ParamValues['pn'] := Trim(Edit2.Text);

    > Parameters.ParamValues['pd'] := Trim(Edit3.Text);

    > Parameters.ParamValues['pe'] := Trim(Edit4.Text);

    > Parameters.ParamValues['pp'] := Trim(Edit5.Text);

    > Parameters.ParamValues['pt'] := Trim(Edit6.Text);

    > Parameters.ParamValues['pc'] := Trim(Edit7.Text);

    > Parameters.ParamValues['pm'] := Trim(Edit8.Text);

    >

    > execute;

    > end

    >

    > StringGrid.Cells[0,i] := Fieldbyname('j_i');

    > ..

    > ..

    > ..

    > ..

    > ..

    > end;

    >

    > 이런 식이거든요...

    > 근데 잘 안되여...

    > 왕초보라 ....

    > 좀 봐주시구 답변 좀 해주세요....

    >

  • Profile
    타락천사 2000.06.17 02:47
    안녕하세여.. 타락임다..^^;;;



    우선 포문 루프를 두번만 도네여.. 일부러 그렇게 한거가여?



    담에, ADOQuery의 with 문에서 클로즈만 시키고 오픈시키는 코드가 없네여..



    SQL.Close 전에 Open을 써야져.



    글구 조인문은 잘 모르겠네여..ㅠㅠ



    전 SQL문을 이렇게 쓰지 않아서리..ㅠㅠ



    왕초보 타락천사..^_______^



    델초보 wrote:

    > ADO 테스트중인데요...

    > 폼에 ADOconnect과 무엇을 써서 연결해야

    > insert나 update같은 SQL문을 잘 쓸 수 있을지...

    > 그리고 그 결과를 스트링그리드에 보여줄라구 하는데요.....

    > 이게 맞는지 함 봐주세요..

    >

    > ADOquery를 썼을 경우예요..

    >

    > procedure TQuerytest.Button1Click(Sender: TObject);

    > var

    > i: integer;

    > begin

    > count := 1;

    > count := count+1;

    > for i:=1 to count-1 do

    >

    > with ADOQuery1 do

    > begin

    > close;

    > SQL.Clear;

    > SQL.Add('Insert Into joins');

    > SQL.Add('(j_i, j_n, j_d, j_e, j_p, j_t, j_c, j_m)');

    > SQL.Add('Values');

    > SQL.Add('( :pi, :pn, :pd, :pe, :pp, :pt, :pc, :pm)');

    >

    > Parameters.ParamValues['pi'] := Trim(Edit1.Text);

    > Parameters.ParamValues['pn'] := Trim(Edit2.Text);

    > Parameters.ParamValues['pd'] := Trim(Edit3.Text);

    > Parameters.ParamValues['pe'] := Trim(Edit4.Text);

    > Parameters.ParamValues['pp'] := Trim(Edit5.Text);

    > Parameters.ParamValues['pt'] := Trim(Edit6.Text);

    > Parameters.ParamValues['pc'] := Trim(Edit7.Text);

    > Parameters.ParamValues['pm'] := Trim(Edit8.Text);

    >

    > execute;

    > end

    >

    > StringGrid.Cells[0,i] := Fieldbyname('j_i');

    > ..

    > ..

    > ..

    > ..

    > ..

    > end;

    >

    > 이런 식이거든요...

    > 근데 잘 안되여...

    > 왕초보라 ....

    > 좀 봐주시구 답변 좀 해주세요....

    >

    • 한창희
      2000.06.17 11:47
      이일형 wrote: > PDOXUSRS.LCK이 걸리는 이유가 뭔지를 알고 싶어요. 똑같은 작업을 두명이 동시에 접속해...
    • 손창호
    • 2000.06.17 01:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.06.17 02:21
      안녕하세여.. 타락임다..^^ 흠.. 전화국은 TImage를 쓰는게 좋지 않을까여? 클릭과 마우스가 들어오고 ...
    • 최용일
      2000.06.17 09:02
      안녕하세요. 최용일입니다. 핸들을 폼으로 찾지마시고 Application으로 찾으세요. var AHandle: H...
    • 초보자
      2000.06.17 02:42
      허기영 wrote: > 안녕하심미까? 허기영이라고 함다.... 작업도중에 막히는 부분이 있어서 > 고수님들의 ...
    • 최은석
    • 2000.06.16 23:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.17 10:57
      안녕하세요. 최용일입니다. 혹시 Dmitry V. Bolshakov의 TDBGridEh말씀하시는 것입니까? 맞다면 http...
    • 최석기
      2000.06.17 00:18
      최 소 영 wrote: > 정수형만 입력가능한 어떤 콤포넌트가 있습니다. > 그 콤포넌트의 값을 설정해줄려면 ...
    • 최 소 영
      2000.06.17 02:01
      최석기 wrote: > 최 소 영 wrote: > > 정수형만 입력가능한 어떤 콤포넌트가 있습니다. > > 그 콤포넌트...
    • 최석기
      2000.06.17 02:04
      최 소 영 wrote: > 최석기 wrote: > > 최 소 영 wrote: > > > 정수형만 입력가능한 어떤 콤포넌트가 있...
    • 최 소 영
      2000.06.17 02:16
      최석기 wrote: > > > 어.. 제가 해보구서 올린거였는데.. > > 전 잘 돌아갔는데.. 이상하네.. > ...
    • siro
    • 2000.06.16 23:40
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 까마귀
      2000.06.17 02:56
      돌아버려 wrote: > 함수 선언 부분에 특이한것이 있더군요. > > ex) kwak := ^TResource; > > 위에...
    • 최석기
      2000.06.16 22:20
      blueofsky wrote: > 안녕하세요... > > stringgrid를 공부하고 있는데, dbgrid처럼 특정셀의 크기를 ...
    • 델초보
    • 2000.06.16 21:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • hugehead
      2000.07.15 07:04
      안녕하세요, 몇가지 짚어보죠. 일단 지금 코드에서 실행하는 SQL문은 insert 문이니까 결과값이 없습니...
    • 타락천사
      2000.06.17 02:47
      안녕하세여.. 타락임다..^^;;; 우선 포문 루프를 두번만 도네여.. 일부러 그렇게 한거가여? 담에, AD...
    • bohemian
    • 2000.06.16 20:53
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.06.16 22:26
      bohemian wrote: > Active Form을 만들고, 웹브라우저로 볼때 > 웹브라우저의 스크롤바를 사용해서 안보...
    • 강정한
      2000.06.19 18:31
      최석기 wrote: > bohemian wrote: > > Active Form을 만들고, 웹브라우저로 볼때 > > 웹브라우저의 스크...
    • 이종완
    • 2000.06.16 20:48
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.06.16 22:15
      안녕하세여. 타락임다..ㅠㅠ 파라미터는 어떻게 받았져? 버그 난다던 Win95는 이상없는 시스템 인가...
    • 이종완
      2000.06.16 22:31
      타락천사 wrote: > 안녕하세여. 타락임다..ㅠㅠ > > 파라미터는 어떻게 받았져? > > 버그 난다던 Wi...
    • 최용일
      2000.06.16 21:11
      안녕하세요. 최용일입니다. 전체 파라매터가 "c:tempaaa.exe"abcdefg 델파이에 ParamStr함수가 있습니...
    • 이종완
      2000.06.16 22:09
      최용일 wrote: > 안녕하세요. 최용일입니다. > > 전체 파라매터가 "c:tempaaa.exe"abcdefg 컴퓨터에 ...
    • 최용일
      2000.06.17 09:10
      안녕하세요. 최용일입니다. 근데요. 문제가 있는 컴에서 "winword"test.doc도 잘 동작하나요? 잘 동...
    • azure
    • 2000.06.16 20:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.16 20:36
      안녕하세요. 최용일입니다. 둘 다 같습니다. 여러 유닛에 같은 이름의 서브루틴이 있을 때와 같이 이름...
    • 김남우
    • 2000.06.16 20:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.06.16 20:32
      안녕하세요. 최용일입니다. Delay함수는 없어요. 예전 도스용 파스칼에 있었던 함수로 델파이에서는 지...
    • 이종호
    • 2000.06.16 19:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.06.16 20:33
      이종호 wrote: > 저는 델파이3하고 ms_sql을 사용하는데요 > 간단한 폼을 하나만들어서 테스트를하는데...